PhantomJS没有找到Chrome和Firefox可以在html页面上找到的元素

时间:2017-08-16 08:09:09

标签: c# selenium phantomjs

我正在使用selenium和c#运行自动化测试,并使用PhantomJS作为无头浏览器来运行测试。一些新的谷歌分析代码添加到网站后,最近一些测试开始失败。测试有时无法在页面上找到表单元素,但是在像Chrome这样的普通浏览器中运行时,它们每次都会通过。测试通常在等到可见语句之前失败。无法删除Google Analytics代码。

我通过在测试失败时获取正在运行的html代码的副本进行调试,并且代码在头部被剥离后已经包含了所有元素,并且头部中也缺少一些脚本标记。头后面甚至还有一个关闭的html标签。只是想知道是否有人之前曾见过类似的问题,并且知道如何在不必删除分析的情况下修复它。

1 个答案:

答案 0 :(得分:1)

您甚至不需要使用PhantomJs。因为PhantomJs这些日子并没有那么多。你可以在无头模式下使用chromedriver。

你只需要添加如下无头的选项: -

   chromeOptions.addArguments("--headless");

Java中的完整代码如下所示: -

 System.setProperty("webdriver.chrome.driver","D:\\Workspace\\JmeterWebdriverProject\\src\\lib\\chromedriver.exe");
 ChromeOptions chromeOptions = new ChromeOptions();
 chromeOptions.addArguments("--headless");
 chromeOptions.addArguments("--start-maximized");
 WebDriver driver = new ChromeDriver(chromeOptions);
 driver.get("https://google.com");