Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Selenium Web驱动程序单击操作_Java_Selenium_Webdriver_Selenium Webdriver_Htmlunit - Fatal编程技术网

Java Selenium Web驱动程序单击操作

Java Selenium Web驱动程序单击操作,java,selenium,webdriver,selenium-webdriver,htmlunit,Java,Selenium,Webdriver,Selenium Webdriver,Htmlunit,我在selenium中有一个代码,可以动态单击菜单页面中的选项卡。有时,选项卡不可单击(它只是一个普通的td,内部带有span),当Web驱动程序尝试单击此选项卡时,我的程序会被冻结(没有引发异常或任何事情) 我无法避免点击这样的标签,但我想以某种方式防止点击后冻结。所以,我可以设置一些超时,或者告诉selenium在元素不可单击时该怎么做 driver.findElement(By.xpath( format("//span[@class='rf-tab-lbl'][text()='{

我在selenium中有一个代码,可以动态单击菜单页面中的选项卡。有时,选项卡不可单击(它只是一个普通的
td
,内部带有
span
),当
Web驱动程序
尝试单击此选项卡时,我的程序会被冻结(没有引发异常或任何事情)

我无法避免点击这样的标签,但我想以某种方式防止点击后冻结。所以,我可以设置一些超时,或者告诉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

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

我试着利用自己的休息时间。这也不管用

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

若它适用于其他网站,那个么问题可能是特定于网站的。 您可以在eclipse中附加Selenium的源代码,并检查/调试它被卡住的地方。 我也这么做了。我找到了parse方法,但它并没有出来


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

什么浏览器?什么版本的浏览器?什么版本的硒?问题是它不应该冻结。当您在页面上手动单击它时,它也会冻结吗?试着用Firebug点击它,看看它是否触发了某种可能欺骗WebDriver的响应。如果它正在等待一些脚本,您可以尝试设置
driver.manage().timeouts().setScriptTimeout(…)
,尽管我认为这不会有帮助。另外,可单击和不可单击选项卡有什么区别?您不能检查元素是否包含在
元素中,而不是
元素中,或者其他什么吗?