【问题标题】:WebDriverException: Message: unknown error: call function result missing 'value' -- after running send_keys and updating ChromedriverWebDriverException:消息:未知错误:调用函数结果缺少“值”——在运行 send_keys 并更新 Chromedriver 之后
【发布时间】:2021-02-10 05:34:19
【问题描述】:

我用过 Selenium 几次,从来没有遇到过任何问题,尽管我承认距离我上次测试它已经一年多一点了。

我尝试运行以下命令:

def time_sleep(sec, times_random):
    seconds = sec + (random.random() * times_random)
    return time.sleep(seconds)

def navigate_website(website_name):
    browser.get(website_name)
    time_sleep(1, 3)
    
def fill_field(x_path, text):
    element = browser.find_element_by_xpath(x_path)
    time_sleep(1, 1)
    element.send_keys(text)    

if __name__ == "__main__":
    browser = webdriver.Chrome()
    navigate_website('https://www.prc.gov/dockets/search')
    time_sleep(1, 3)
    fill_field('//*[@id="TitleContains"]', 'some text')

当我运行send_keys()后得到后续错误时:

WebDriverException: Message: unknown error: call function result missing 'value'
  (Session info: chrome=86.0.4240.111)
  (Driver info: chromedriver=2.25.426935 (820a95b0b81d33e42712f9198c215f703412e1a1),platform=Mac OS X 10.14.6 x86_64)

我下载了 Chrome 86.x 的 chromedriver 版本并尝试将 Chrome 更新到最新版本(它说 86.x 是最新的)。我有什么遗漏吗?

【问题讨论】:

  • stackoverflow.com/a/49528998/1387701 可能会有所帮助。
  • @DMart 我看过了。它基本上只是告诉我更新 Chrome 或 Webdriver,我相信我已经完成了,但再次检查并没有什么坏处。

标签: python-3.x selenium


【解决方案1】:

结果证明解决方案相当简单。我只需要将更新的chromedriver 移动到适当的路径。最初我认为将驱动程序放在我的项目路径中就足够了,但是selenium 一直调用在/usr/local/bin 中找到的版本。

解决方案:

  1. 下载Chromedriver并解压文件。

  2. 打开终端并输入mv chromedriver /usr/local/bin

【讨论】:

    猜你喜欢
    • 2020-06-29
    • 2018-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-19
    • 2018-07-14
    相关资源
    最近更新 更多