如果我在Selenium中使用.get方法,如何阻止除了我想从本网站加载的元素之外的所有元素,以使加载过程更快?
这就是我所做的:
System.setProperty("dir/chromedriver");
ChromeDriver driver = new ChromeDriver();
driver.get("url");
driver.findElementByCssSelector(".Name").click();
虽然这适用于我想要的参数,但.get和.click方法等到页面完全加载,但如果我只需要页面上的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');");