一尘不染

Python Selenium driver.execute_script WebDriverException:消息:未知错误:调用函数结果缺少“值”

selenium

这实际上是针对线程上的[未知错误:即使在chromedriver升级后,SeleniumSendKeys的调用函数结果也缺少“值”,
但我想我的声誉还不够高(参与)。

我得到了错误:

WebDriverException: Message: unknown error: call function result missing 'value'
  (Session info: chrome=65.0.3325.162)
  (Driver info: chromedriver=2.33.506106 
  platform=Mac OS X 10.13.3 x86_64)

运行此行时:

driver.execute_script('window.scrollTo(0, %s)' % scroll_to)

我进行了更新,但仍然弹出了该错误的所有其他信息,但是在引发错误之前实际上已执行了代码,因此仅通过传递异常就可以实现我的目标,有点草率,所以如果我可以使错误消失,那将很酷的确如此,但这暂时适用:

driver.get('https://www.azcentral.com/search/trump/')
page_height = int(driver.get_window_size()['height'])
scroll_to = 0
start_time = time.time()
wait = 90

while True:

    scroll_to += page_height

    try:

        driver.execute_script('window.scrollTo(0, %s)' % scroll_to)

    except:

        time.sleep(1)
        pass

    end_time = time.time()
    uptime = timedelta(seconds=int(end_time - start_time))

    if uptime > timedelta(seconds=wait):

        break

阅读 279

收藏
2020-06-26

共1个答案

一尘不染

错误说明了一切:

WebDriverException: Message: unknown error: call function result missing 'value'
  (Session info: chrome=65.0.3325.162)
  (Driver info: chromedriver=2.33.506106

您的主要问题是所使用的二进制文件之间的 版本兼容性 ,如下所示:

  • 您正在使用 chromedriver = 2.33
  • chromedriver = 2.33 发行说明明确提到以下内容:

支持 Chrome v60-62

支持 Chrome v64-66

  • 我们不知道您的 Selenium Client 版本。

因此, ChromeDriver 版本( v2.33 )和 Chrome浏览器 版本( v65.0 )之间存在明显的不匹配

  • Selenium 升级到当前 版本3.11.0
  • 升级 ChromeDriver 当前 ChromeDriver v2.37 水平。
  • Chrome 版本保持在 Chrome v64.x-66.x 级别之间。(根据ChromeDriver v2.37发行说明
  • 清理 你的 项目工作 ,通过你的 IDE重建 仅需要依赖你的项目。
  • 在执行 测试套件 之前和之后,使用 CCleaner 工具清除所有操作系统琐事。 __
  • 如果您的基本 Web客户端 版本太旧,请通过 Revo Uninstaller 卸载它,然后安装最新的GA和 Web客户端 发行版本。
  • 执行您的@Test
2020-06-26