当前位置: 首页 > 知识库问答 >
问题:

chrome不能同时使用headless模式和chrome配置文件路径启动

穆英飙
2023-03-14

我写了一个代码,用selenium和WhatsApp web发送WhatsApp消息,它运行得很好,但我不明白为什么它在headless模式下不工作,它根本不支持浏览器。

当我在无头模式下运行它并且没有crome路径选项时,它会成功启动浏览器,但当然,它不起作用,因为我必须拥有数据。这是错误消息:“selenium.common.exceptions.WebDriverException:消息:未知错误:DevToolsActivePort文件不存在”。

我还尝试添加选项,如'--no-沙盒'和'--disable-dev-shm-使用',但它仍然不起作用。

    BASE_URL = "https://web.whatsapp.com/"
    options = webdriver.ChromeOptions()
    options.add_argument('--headless')
    options.add_argument('--no-sandbox')
    options.add_argument('--disable-dev-shm-usage')
    options.add_argument(config.CHROME_PROFILE_PATH)

    def main():
        driver = Chrome(executable_path='driver/chromedriver.exe',
                    options=options)
        driver.get(BASE_URL)
        driver.maximize_window()
        driver.implicitly_wait(config.WAIT_TIME)

共有2个答案

苏君昊
2023-03-14

您需要在无头模式下启动chrome并扫描二维码。

options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument('user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3312.0 Safari/537.36');
driver = webdriver.Chrome(
    executable_path=r'path\to\chromedriver.exe',
    options=options)
qr_code =  driver.find_element(By.XPATH, '//*[@id="app"]/div[1]/div/div[2]/div[1]/div/div[2]/div').screenshot_as_png
通令
2023-03-14

请参阅以下链接。使用无头启动chrome已经在那里得到了答案。

您可以使用像这样少的代码,而不是使用添加参数。您可以使用这个无头选项。希望这有所帮助。

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.headless = True
driver = webdriver.Chrome(options=options, executable_path=r'C:\path\to\chromedriver.exe)

另请参阅链接以获取来自不同用户的各种答案和接受的答案

如何配置ChromeDriver通过Selenium在无头模式下启动Chrome浏览器?

 类似资料:
  • 我正在使用selenium和python中的chrome驱动程序。我可以这样设置chrome浏览器的语言: 这就像是一种魅力,但我一加上无头论证,就又得到了德语的结果: 谢谢你们抽出时间。

  • 我正在使用以下版本: Ruby 2.4.1 铬驱动2.33 selenium-webDrive3.7.0 watir 6.7.3 page对象2.2.2 Chrome浏览器 环境署。rb文件包含下载目录的路径。当不是在headless模式下运行测试时,文件可以完美下载,但是当我运行它时,没有任何事情发生,文件也不会下载。我使用的是ChromeDeriver 2.27和Chrome浏览器58。*它在

  • 问题内容: 我正在寻找Eclipse存储其启动配置的文件。我正在Ubuntu中进行一些Java开发。 我正在开发的一个可执行文件需要另一个可执行文件的输出作为其参数。可以这么说,“ B”的输出需要作为命令行参数传递给“ A”。在Eclipse中,我不想每次都手动更改“运行配置”。Eclipse将这些配置(尤其是参数)存储在哪里? 我在项目的extras文件夹中找到了“ eclipseArgumen

  • 问题内容: 我正在尝试同时打开多个浏览器,但无法在多个窗口中浏览到该网站。 这是我的方法: 这样称呼它: 不幸的是,在打开第二个窗口后-显示超时错误: WebDriver.dll中发生类型’OpenQA.Selenium.WebDriverException’的第一次机会异常 附加信息:60秒后,对URL http:/ loca1host:50148 / session的远程WebDriver服务

  • 我在Chrome67上使用WebDriver 3.12.0和ChromeDriver 2.40。我初始化驱动程序变量如下: 当我在headless模式下执行它时,我得到这一行的TimeoutException。当我在正常模式下执行它时,它工作得很好。 错误消息: org.openqa.selenium.TimeoutException:预期条件失败:等待位于以下位置的元素的存在:By.xpath:

  • 本文向大家介绍Selenium启动Chrome时配置选项详解,包括了Selenium启动Chrome时配置选项详解的使用技巧和注意事项,需要的朋友参考一下 Selenium操作浏览器是不加载任何配置的,网上找了半天,关于Firefox加载配置的多点,Chrome资料很少,下面是关于加载Chrome配置的方法: 一、加载所有Chrome配置 用Chrome地址栏输入chrome://version/