加载页面时发现脚本停止运行怎么办

来源:爱站网时间: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秒的脚本?

思路:


您有两种添加时间的方式

  1. 辛苦等待Thread.sleep(xxxx);
  2. 您可以等待特殊元素加载wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//xxx[@id='xxx']")));

加载页面时发现脚本停止运行怎么办就先分享到这里了,如果还有什么需要小编帮忙解决了,欢迎随时来爱站技术频道网站咨询小编。 

上一篇:Java编程里不按Enter键获取字符的操作

下一篇:使用pagefactory注释所面临的问题怎么解决

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载