Python:无头模式支持旧版本的 Chrome

2023-12-15

我正在尝试使用 python 和 selenium 自动发送短信https://voice.google.com/about。当我运行下面的代码时,它会获取最新版本/谷歌浏览器实例并且工作正常。但是,当我以无头模式运行它时,它使用旧版本的谷歌浏览器(从屏幕截图猜测)并给出TimeoutException()例外。登录时失败。

我在 IE 模拟器中检查了登录框的元素 id,它似乎是相同的。

        url = "https://voice.google.com/about"
        driver.get(url)
        time.sleep(5)
        driver.get_screenshot_as_file('C:\\Drivers\\Q11-0.png')

        # Click on a GET GOOGLE VOICE
        WebDriverWait(driver, 60).until(
            EC.element_to_be_clickable((By.XPATH, '//*[@id="heroToggle"]/button/span'))).click()

        print("Clicked on a get google voice")

        # Click on a WEB
        WebDriverWait(driver, 60).until(
            EC.element_to_be_clickable((By.XPATH, '//*[@id="heroToggle"]/div/button[3]'))).click()
        print("Clicked on a WEB button.")

        driver.get_screenshot_as_file('C:\\Drivers\\Q11-1.png')

        # Enter username and password
        # THIS IS WHERE IT FAILS
        WebDriverWait(driver, 30).until(EC.element_to_be_clickable((By.ID, 'identifierId')))
        email = driver.find_element_by_id('identifierId')
        time.sleep(10)
        email.send_keys('username')
        time.sleep(10)
        nextBtn = driver.find_element_by_xpath('//*[@id="identifierNext"]/content/span')
        nextBtn.click()

        driver.get_screenshot_as_file('C:\\Drivers\\Q11-2.png')


        # Enter password
        password = driver.find_element_by_xpath('//*[@id="password"]/div[1]/div/div[1]/input')
        password.send_keys('password')
        nextBtn = driver.find_element_by_xpath('//*[@id="passwordNext"]/content')
        nextBtn.click()

Screenshot when I run in normal mode, enter image description here

Screenshot when I run in headless mode, enter image description here

驱动程序已正确更新。 我不确定我做错了什么。任何帮助将不胜感激。


尝试覆盖用户代理,这样它就不会包含无头标签。

opts = Options()
opts.add_argument("user-agent=User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36")

driver = webdriver.Chrome(chrome_options=opts)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python:无头模式支持旧版本的 Chrome 的相关文章

随机推荐

  • BigQuery GENERATE_UUID() 和 CTE

    这个行为让我有点惊讶 当您在 CTE 中生成 uuid 以生成行 id 等 并在将来引用它时 您会发现它发生了变化 看起来generate uuid 被调用两次而不是一次 有人知道为什么 BigQuery 会出现这种情况吗 这叫什么 我正在
  • 在java中创建包级关联数组

    是否可以创建包级 oracle 关联数组的 java 表示形式 例如 给定以下情况 CREATE OR REPLACE PACKAGE MyPackage AS TYPE t numbers IS TABLE OF NUMBER INDEX
  • 使用 C++ 获取本地管理员用户名

    我想知道是否可以让女巫用户属于我的本地管理员组并列出它们 有没有办法使用 C 来做到这一点 也许有任何 WinAPI 方式 多谢 您可以使用网络用户获取本地组 and 网络用户获取信息检索您的信息并检查其值usri1 priv in the
  • 为什么java中外部类不是静态的? [复制]

    这个问题在这里已经有答案了 在java中 外部类可以是public final default或abstract 为什么不像静态一样 public static class MyClass 外部类已经是隐式静态的 非静态嵌套类 内部类 意味
  • 在 Facebook 上寻找共同的朋友

    我想使用 facebook Graph API v2 2 找出两个随机用户之间的共同好友 我通读了文档https developers facebook com docs graph api reference v2 2 user cont
  • 通过缩放支持使 WebView 的内容适合屏幕

    我正在尝试将 HTML5 页面嵌入到我的应用程序中 内容大于设备 因此我使用以下方式对其进行缩放 web setInitialScale int 728 600 100 728 is the height of the page 600 o
  • Display.getCurrent().asyncExec 不并行运行?

    这是我的代码 Display getCurrent asyncExec new Runnable public void run try Event e1 new Event e1 type EVT CONNECTING for Liste
  • 为什么将 DependencyProperty 成员声明为 public 而不是 protected?

    为什么以这种方式创建 DependencyProperty 成员 public static readonly DependencyProperty DepProperty DependencyProperty Register 而不是那样
  • Gitlab 上的 Kubernetes 执行程序 - 错误:作业失败(系统故障):Post *api/v1/namespaces/gitlab/pods: x509: 由未知机构签名的证书

    我正在尝试为 Gitlab 设置 Kubernetes 执行器 但收到此错误 错误 作业失败 系统故障 发布https api kubernetes de api v1 namespaces gitlab pods x509 未知权威机构签
  • Javascript - string.split(regex) 保留分隔符

    我想使用正则表达式分割字符串 并将分隔符 匹配信息包含在结果数组中 在java中我使用 theString split lt gt lt gt lt lt AND AND lt OR OR 但是 javascript不支持lookbehin
  • Sqoop导入:复合主键和文本主键

    堆栈 使用 Ambari 2 1 安装 HDP 2 3 2 0 2950 源数据库模式位于 sql server 上 它包含多个表 这些表的主键为 一个varchar 复合 两个 varchar 列或一个 varchar 一个 int 列或
  • 在 pm3d 地图中画一条线

    I have a and I want to overplot on it a 我将这条线定义为具有恒定高度的 3d 线 并且我认为通过这种方法我可以将它们相互重叠绘制 但不幸的是 我失败了 事实上 我意识到 gnuplot 中的密度图例程
  • UIKit Dynamics:识别圆形形状和边界

    我正在编写一个应用程序 我使用 UIKit Dynamics 来模拟不同圈子之间的交互 我使用以下代码创建我的圈子 self super initWithFrame CGRectMake location x radius 2 0 loca
  • SQLite 中嵌套内连接的问题

    下面的sql语句不会在SQLite中运行 select from A left join B inner join C on B fkC C pk on A optionalfkB B pk 我收到 sqlException 未知列 B p
  • 如何在Python中创建表?

    这就是我想在 Python 中复制的内容 这些是存储数据的变量的名称 name 1 Alex name 2 Zia age 1 13 age 2 12 game 1 1 game 2 2 favourite 1 chess favourit
  • 如何在 .Rmd 文件中添加要发布的功能或缩略图

    我目前正在尝试使用 blogdown 设置一个 Hugo 博客 但找不到从内部向帖子添加功能或缩略图的方法 Rmd文件 这会喜欢这样宁静峰主题 据我了解 只需添加一些如下语法即可在 md 文件中轻松完成 featuredImage img
  • Python Pyrebase 配置

    当我尝试运行我的代码时 import pyrebase firebaseConfig apiKey xxxxxx authDomain xxxxxx projectId xxxxxx storageBucket xxxxxxx servic
  • PREG_MATCH 检查所有单词和条件

    我编写了一个正则表达式 它在 OR 条件下搜索搜索词 这样就提供了字符串中的三个单词 无论它们的顺序如何 现在我只想放置一个 AND 条件 因为我想同时以不同的顺序在字符串中获取所有三个单词 这是我的preg match 正则表达式 myP
  • bash eval 未检测到 System.exit 返回代码

    挣扎了一个小时 java代码 ULogger info throwing out 666 System exit 666 bash 包装器 eval COMMAND TO RUN ret code printf error code d r
  • Python:无头模式支持旧版本的 Chrome

    我正在尝试使用 python 和 selenium 自动发送短信https voice google com about 当我运行下面的代码时 它会获取最新版本 谷歌浏览器实例并且工作正常 但是 当我以无头模式运行它时 它使用旧版本的谷歌浏