【问题标题】:Website behavior in Chrome instance launched using ChromeDriver is not same as in regular Chrome使用 ChromeDriver 启动的 Chrome 实例中的网站行为与常规 Chrome 中的不同
【发布时间】:2019-10-24 11:34:47
【问题描述】:

我正在准备一个简单的基于黄瓜/硒的应用程序,它启动一个新的浏览器,打开 Target.com 的登录页面并尝试登录。

我能够调出 Target 网站主页,进入登录页面并填写凭据。但是单击“登录”的按钮不起作用。只是为了查看行为,我尝试使用凭据手动登录到 Target 网站(在应用程序启动的浏览器中),并注意到“登录”按钮不起作用。如果我定期将 Chrome 作为独立应用程序启动,它就可以工作。

我检查了在使用 ChromeDriver 启动的 Chrome 中启用了 JS。还有什么问题?网站网址是:https://www.target.com(点击右上角的登录,然后在菜单中点击登录,进入登录页面。登录页面上的“登录”按钮是一个问题)

使用以下内容: ChromeDriver 73.0.3683.20 Chrome 应用程序版本:74.0.3729.169

【问题讨论】:

    标签: selenium selenium-chromedriver


    【解决方案1】:

    我只是尝试实例化一个驱动程序导航到登录 url 并单击登录按钮,它可以正常工作。

    可能您当前的 chromedriver (73.0.3683.20) 无法自动化您的 chrome 版本 (74.0.3729.169) 尝试升级 chromedriver 并注意 chrome 会自动更新

    更新: 刚刚检查了 chromedriver 文档,您的 chromedriver 版本仅适用于 chrome 73

    【讨论】:

      【解决方案2】:

      问题:您的 Chrome 浏览器版本是 74,并且您的框架具有 ChromeDriver Binary v73.0.3683.20,它支持 Chrome 浏览器 v73

      解决方案:将您的 ChromeDriver 二进制版本更新到 v74.0.3729.6

      请查看 Chrome 浏览器发布部分: Chrome Browser vs ChromeDriver Binary 并遵循以下信息 -

      希望以上内容能解决您的问题。

      【讨论】:

      • 根据 OP 所说的,这必须是正确的答案,但我不知道为什么他们甚至能够输入登录凭据。当我遇到这个问题(Chrome 在我不知情的情况下自行更新)时,它明确告诉我这是问题所在,在我更新驱动程序之前浏览器甚至无法打开。
      • 完全同意你的看法。
      • 如果 chromedriver 二进制文件和浏览器版本不匹配,那么我们将无法在浏览器本身执行任何操作,因为在浏览器无法启动之前
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-08-05
      • 2017-09-27
      • 1970-01-01
      • 1970-01-01
      • 2020-12-29
      • 1970-01-01
      • 2016-12-26
      相关资源
      最近更新 更多