Ruby-Selenium WebDriver 3.142.6:由于“ Selenium :: WebDriver :: Error :: UnknownCommandError:”而无法上传文件]]

问题描述 投票:0回答:1

无法使用Ruby中的selenium-webdriver (3.142.6) gem上传文件

技术栈:

selenium-webdriver(3.142.6)

Chrome版本:77

Chrome驱动程序:77

错误消息:

Selenium::WebDriver::Error::UnknownCommandError: unknown command: unknown command: session/xxxsession_idXXX/se/file
Backtrace:
       Ordinal0 [0x00FDEB13+1501971]
       Ordinal0 [0x00F5F6D1+980689]
        Ordinal0 [0x00EE765F+489055]
        Ordinal0 [0x00E9618E+156046]
        Ordinal0 [0x00E95FF4+155636]
        Ordinal0 [0x00E7220E+8718]
  Ordinal0 [0x00E72626+9766]
  Ordinal0 [0x00E72C10+11280]
 Ordinal0 [0x00F78F37+1085239]
       GetHandleVerifier [0x0107D7ED+503293]
       GetHandleVerifier [0x0107D580+502672]
       GetHandleVerifier [0x010846AC+531644]
       GetHandleVerifier [0x0107DFFA+505354]
       Ordinal0 [0x00F70606+1050118]
       Ordinal0 [0x00F7047F+1049727]
       Ordinal0 [0x00E7204B+8267]
  Ordinal0 [0x00E71D7C+7548]
  GetHandleVerifier [0x013CD83C+3976780]
      BaseThreadInitThunk [0x755738F4+36]
 RtlUnicodeStringToInteger [0x77375E13+595]
  RtlUnicodeStringToInteger [0x77375DDE+542]

似乎是此版本的gem破坏了上传。

用于上传文件的代码(watir俗气)

@browser.file_field(xpath: "//*[contains(text(), 'Upload')]/input[@type='file']").set(complete_path_to_file)

无法在Ruby Tech堆栈中使用selenium-webdriver(3.142.6)gem上传文件:selenium-webdriver(3.142.6)Chrome版本:77 Chrome驱动程序:77错误消息:Selenium :: ......>] >

好吧,在抛出selenium-webdriver-3.142.6\lib\selenium\webdriver\remote\w3c\commands.rb文件后,以下行看起来可疑

上传文件:[:post,'session /:session_id / se / file']

将此行更新为

upload_file:[:post,'session /:session_id / file']

已解决了该问题。

我知道这不是我想要的永久性解决方案。请随时添加您的想法。...

ruby selenium selenium-webdriver watir
1个回答
0
投票

好吧,在抛出selenium-webdriver-3.142.6\lib\selenium\webdriver\remote\w3c\commands.rb文件后,以下行看起来可疑

© www.soinside.com 2019 - 2024. All rights reserved.