gpt4 book ai didi

google-chrome - Selenium 测试对 headless (headless) Chrome 失败

转载 作者:行者123 更新时间:2023-12-04 16:57:59 24 4
gpt4 key购买 nike

我试图让我的 selenium 测试自动化针对 headless (headless) chrome 运行,以便我可以将它移动到 TeamCity。我没有任何运气。当我运行它时,Chrome 似乎 headless (headless)运行(没有浏览器弹出),但我得到了 NoSuchElementException .当非 headless (headless)运行时,自动化按预期工作。拍摄的快照仅显示一个白色矩形。

我已经对这个问题进行了广泛的研究,但我一直无法找到适合我的解决方案。看来问题是在 https://bugs.chromium.org/p/chromedriver/issues/detail?id=476 中报告的,但它被标记为固定。我认为问题可能出在错误的 chromedriver,或者错误的 chromedriver/selenium 组合上,但我尝试了各种组合,但都没有爱。

我在用:

  • Selenium -java 3.6.0
  • Chrome 驱动程序 2.33.506120
  • Windows 7 Enterprise Service Pack1,64 位

  • 我的代码是:
    ...
    ChromeOptions headlessOptions = new ChromeOptions();
    headlessOptions.addArguments("--start-maximized");
    headlessOptions.addArguments("--headless");
    driver = new ChromeDriver(headlessOptions);
    driver.get(url);
    WebElement usernameTextfield = driver.findElement(By.cssSelector(".input.username"));
    ...

    输出是:
    Starting ChromeDriver 2.33.506120 (e3e53437346286c0bc2d2dc9aa4915ba81d9023f) on port 41402
    Only local connections are allowed.
    Nov 01, 2017 10:22:51 AM org.openqa.selenium.remote.ProtocolHandshake createSession
    INFO: Detected dialect: OSS

    org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"css selector","selector":".input.username"}
    (Session info: headless chrome=62.0.3202.75)
    (Driver info: chromedriver=2.33.506120 (e3e53437346286c0bc2d2dc9aa4915ba81d9023f),platform=Windows NT 6.1.7601 SP1 x86_64) (WARNING: The server did not provide any stacktrace information)
    Command duration or timeout: 0 milliseconds

    这使我无法将我的测试自动化作为 CI 的一部分包含在内,因此非常感谢任何帮助。

    最佳答案

    这对我有用:

    var chromeOptions = new ChromeOptions();                        
    chromeOptions.AddArguments("--headless");
    chromeOptions.AddArguments("--disable-gpu");
    chromeOptions.AddArguments("--window-size=1280,800");
    chromeOptions.AddArguments("--allow-insecure-localhost");

    //specifically this line here :)
    chromeOptions.AddAdditionalCapability("acceptInsecureCerts", true, true);

    来自 https://bugs.chromium.org/p/chromium/issues/detail?id=721739

    关于google-chrome - Selenium 测试对 headless (headless) Chrome 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47061662/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com