我有一个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,并查找两者都存在的内容。
我很感激任何帮助。 :)
答案 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/");
希望它会对你有所帮助:)。