加载页面时发现脚本停止运行怎么办
来源:爱站网时间:2022-01-18编辑:网友分享
在java编程中,想加载页面的时候突然发现网页脚本打不开,一直阻碍着浏览器,遇到这种问题,需要怎么解决比较好呢?爱站技术频道小编给大家来说说看怎么处理吧!
问题描述
有时,当我想加载页面时,脚本会发生某些事情并阻止浏览器。
使用此html我可以模拟确切的问题:
<html> <head> <script> while(true){} </script> < /head> <body> <div id='stuck'> I'm stuck. </div> </body> </html>
我尝试在以上页面上运行代码:
ChromeOptions coptions = new ChromeOptions();
coptions.setCapability("pageLoadStrategy", "none");
//rootOfProject/data/chromedriver.exe
System.setProperty("webdriver.chrome.driver", "data/chromedriver.exe");
WebDriver driver = new ChromeDriver(coptions);
driver.manage().window().maximize();
driver.get("file:///.../stuckbrowser.html");
WebDriverWait wdw = new WebDriverWait(driver, 10);
//using debugger it stuck here - not just 10 seconds
String text = wdw.until(ExpectedConditions.visibilityOfElementLocated(By.id("stuck"))).getText();
System.out.println(text);
driver.quit();
System.out.println("Done");
当我尝试使用getText()
元素的id = stuck
时,我的代码卡住了。
它停留在那里超过10秒(多少?我不知道。我认为它是无限的)。
[有一种方法可以停止从网页运行超过x秒的脚本?
思路:
您有两种添加时间的方式
- 辛苦等待
Thread.sleep(xxxx);
- 您可以等待特殊元素加载
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//xxx[@id='xxx']")));
加载页面时发现脚本停止运行怎么办就先分享到这里了,如果还有什么需要小编帮忙解决了,欢迎随时来爱站技术频道网站咨询小编。