Selenium Web Driver单击操作

时间:2013-02-07 10:13:17

标签: java selenium webdriver selenium-webdriver htmlunit

我在selenium中有一个代码,可以动态点击菜单页面中的标签。有时会发生选项卡不可点击(它只是一个内部有td的普通span)当Web 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

1 个答案:

答案 0 :(得分:0)

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

我试着用自己的时间。那也行不通。

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

HtmlUnit WebClient Timeout

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

如果仍然无效,请联系Selenium支持。