我在网上搜索,但找不到有关如何使用selenium web-driver停止通过浏览器停止页面加载的任何信息。

有同样的想法吗?

评论

您能解释一下“停止页面加载”的含义吗?

他希望页面停止加载...

#1 楼

这可能会有用。

driver.findElement(By.tagName("body")).sendKeys("Keys.ESCAPE");


OR

JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("return window.stop");


评论


find元素主体对我不起作用,因为在页面加载之前它无法找到该元素。但是Javascript的效果很不错

–亚当·加纳(Adam Garner)
17年8月7日在10:28

#2 楼

如果使用的是firefox,则可以设置默认超时的首选项:

fp = webdriver.FirefoxProfile()
fp.set_preference("http.response.timeout", 5)
fp.set_preference("dom.max_script_run_time", 5)
driver = webdriver.Firefox(firefox_profile=fp)

driver.get("http://www.google.com/")


这将在5秒钟后停止页面加载。

评论


我得到:线程“ main”中的异常java.lang.IllegalArgumentException:dom.max_script_run_time必须为== 0 || > = 30因此,最小值为30秒或0。

– invzbl3
19年8月1日14:16



#3 楼

如果您想模拟浏览器的“停止”按钮,这篇文章应该可以帮助您https://stackoverflow.com/questions/5453423/how-to-stop-the-page-loading-in-firefox-programaticaly

评论


是的我之前已经看过那篇文章,但是不明白该怎么写……因为那是简写代码。你能帮我吗?

– CodeLover
13年2月5日在18:10

#4 楼

在从硒Webdriver停止从浏览器加载浏览器的Stackoverflow上,有一些解决方案。

这包括:


在Chrome中安装名为“停止加载”的扩展程序。
使用Selenium中的内置pageLoadTimeout()方法
使用Sikuli或Autoit访问浏览器的本机控件


#5 楼

您可以调用此函数来设置所需的页面加载超时。

评论


不鼓励仅链接答案。请将链接的解决方案部分添加到您的答案中。

–小熊猫
15年4月30日在11:43

此外,链接已死。

–弗兰克·H。
17年2月9日在11:57

#6 楼

我对chrome使用了三个步骤,并且可以正常工作:


导航到“ about:blank”
获取元素“ body”
在该元素上发送键“ Esc”


#7 楼

我们可以使用windows.stop();来停止页面加载。请尝试以下代码:

driver.execute_script("window.stop();")