Selenium + PhantomJS - 页面来源

时间:2017-08-04 09:53:12

标签: java maven selenium phantomjs

我有一个Selenium项目+ Java + Maven,可以在Chrome驱动程序上正常运行。 但是,我一直试图让它与PhantomJS一起使用,但我遇到了一个问题。 适用于Chrome驱动程序的相同代码不适用于PhantomJS。我调试了很多,并意识到问题是加载的页面源与PhantomJS不同。我尝试查找的ID不存在。

使用System.out.println(driver.getPageSource());时,输出为: Chrome驱动程序:长度:19,233 PhantomJS驱动程序:长度:14,965

我尝试将其设置为另一篇文章(driver.manage().window().setSize(new Dimension(2000, 1500));)中建议的人数,但这也无济于事。

我已经尝试等待更长时间来加载页面,但没有帮助。

我还检查了driver.get()中的链接,它是一个完整的网址,其中包含 http ://。

由于我们需要在Chrome和PhantomJS上运行所有测试,我宁愿每次编写测试时都不需要检查PageSource,并查找两者都存在的内容。

我很感激任何帮助。 :)

1 个答案:

答案 0 :(得分:0)

PhantomJs最近因为维护不善而陷入困境。

你可以将chromedriver本身用于无头工作。

您只需要在chromedriver中传递一个选项,如下所示: -

    chromeOptions.addArguments("--headless");

完整代码将如下所示: -

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://www.google.co.in/");

希望它会对你有所帮助:)。