为了账号安全,请及时绑定邮箱和手机立即绑定

无法使用无头模式 Selenium 定位元素

无法使用无头模式 Selenium 定位元素

MMTTMM 2021-10-20 16:25:58
由于此限制,我无法使用无头模式定位元素“所有用户在访问我们的网站时都必须使用谷歌浏览器。” 此限制是我们的管理员添加的,因此用户只能使用 Google chrome。我的代码是@Test(priority = 1)    public void setupApplication() throws IOException {        /*         * open browser (GoogleChrome) and enter user credentials         */        ChromeOptions options = new ChromeOptions();        options.addArguments("--window-size=1920,1080");        options.addArguments("--disable-gpu");        options.addArguments("--disable-extensions");        options.setExperimentalOption("useAutomationExtension", false);        options.addArguments("--proxy-server='direct://'");        options.addArguments("--proxy-bypass-list=*");        options.addArguments("--start-maximized");        options.addArguments("--headless");        driver = new ChromeDriver(options);        driver.get("link");         log.info("Launching chrome browser");        File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);        FileUtils.copyFile(scrFile, new File("C:/Automation Testing/scr3.png"));    }不幸的是,我无法显示我们的链接。我的问题是如何绕过它并找到元素?
查看完整描述

1 回答

?
当年话下

TA贡献1890条经验 获得超9个赞

更新

如果您希望绕过无头代理足迹,请附加以下参数:

--user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.50 Safari/537.36

注意:您应用于 user-agent 参数的任何版本都将显示在请求标头信息中。


...或与您的项目的“管理员”交谈,以便他们可以将无头 chrome 代理包含在白名单中。

这是来自 chrome 的正常代理信息:

用户代理:Mozilla/5.0(Windows NT 10.0;Win64;x64)AppleWebKit/537.36(KHTML,如 Gecko)Chrome/69.0.3497.100 Safari/537.36

这是无头镀铬

用户代理:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/69.0.3497.100 Safari/537.36

如您所见,无头铬代理被称为:HeadlessChrome


查看完整回答
反对 回复 2021-10-20
  • 1 回答
  • 0 关注
  • 643 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信