0

我在 selenium 中有一个代码,它可以动态地单击菜单页面中的选项卡。有时会发生该选项卡不可点击(它只是一个内部的平原) tdspanWeb Driver尝试单击此选项卡时,我的程序被冻结(没有抛出异常或任何东西)。

我无法避免点击这样的标签,但我想以某种方式防止点击后冻结。那么我可以设置一些超时时间或者告诉 selenium 如果元素不可点击该怎么办?

driver.findElement(By.xpath(
    format("//span[@class='rf-tab-lbl'][text()='{0}']",
        navigation.getGroup()))).click();
//if the tab is currently selected (hence is not clickable) selenium won't click 
// on it and program freezes
4

1 回答 1

0

请尝试来自不同网站的另一个页面。这可能是一个 JS 循环问题。我在某些 URL 的 HtmlUnit 中遇到了这样的问题。我在 HtmlUnit 用户组中提出了问题。他们告诉我 JS 无限循环导致冻结。超时对我也不起作用。

我试图申请自己的时间。那也没有用。

请参阅以下问题以应用自己的超时

HtmlUnit WebClient 超时

如果它适用于其他网站,则问题可能是特定于网站的。您可以在 eclipse 中附加 Selenium 的源代码并检查/调试它卡住的位置。我对 HtmlUnit 做了同样的事情。我达到了解析方法,但没有出来。

如果仍然无法正常工作,请联系 Selenium 支持。

于 2013-02-07T12:45:02.407 回答