如何在Java

时间:2015-12-02 22:51:24

标签: java selenium-webdriver selenium-chromedriver

如果我在Selenium中使用.get方法,如何阻止除了我想从本网站加载的元素之外的所有元素,以使加载过程更快?

这就是我所做的:

System.setProperty("dir/chromedriver"); 
ChromeDriver driver = new ChromeDriver(); 
driver.get("url"); 
driver.findElementByCssSelector(".Name").click(); 

虽然这适用于我想要的参数,但.get和.click方法等到页面完全加载,但如果我只需要页面上的2个元素,这需要太长时间

2 个答案:

答案 0 :(得分:0)

我认为你不能这样做。 Selenium将等待加载DOM以调用CSS选择器。也就是说,它将等待dom onload事件,然后才能访问该页面。如果您使用AJAX加载内容,则无法保证页面已完全加载。

此处提供更多信息: - http://selenium-python.readthedocs.org/navigating.html

第一段提到了你的答案。

答案 1 :(得分:0)

您可以尝试执行jQuery script。例如,如果您只想显示div并隐藏所有其余内容,则可以使用:

((JavascriptExecutor) driver).executeScript("$('body > :not(#myDiv)').hide();");
((JavascriptExecutor) driver).executeScript("$('#myDiv').appendTo('body');");