Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.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 webdriver的iframe内的表元素_Java_Selenium Webdriver - Fatal编程技术网

Java 单击带有Selenium webdriver的iframe内的表元素

Java 单击带有Selenium webdriver的iframe内的表元素,java,selenium-webdriver,Java,Selenium Webdriver,我试图单击的内容位于IFrame中某个表的表内。我可以切换到IFrame,但不能单击转到另一个页面的链接测试 List<WebElement> click1 = driver.findElements(By.xpath("//html//body//table[7]/tbody/tr[1]/td[1]/table/tbody/tr[3]/td[1]/font/a")); int clicks = click1.size(); System.out.println(cl

我试图单击的内容位于IFrame中某个表的表内。我可以切换到IFrame,但不能单击转到另一个页面的链接测试

List<WebElement> click1 = driver.findElements(By.xpath("//html//body//table[7]/tbody/tr[1]/td[1]/table/tbody/tr[3]/td[1]/font/a"));
    int clicks = click1.size();
    System.out.println(clicks);
命令持续时间或超时:10.53秒

JavascriptExecutor executor = (JavascriptExecutor)driver;
    StringBuilder locator = new StringBuilder();
    locator.append("document.getElementByXpath('//html//body//table[7]/tbody/tr[1]/td[1]/table/tbody/tr[3]/td[1]/font/a').click();");
    executor.executeScript(locator.toString());     

谷歌搜索告诉我,您的错误(等待evaluate.js加载失败)是因为您使用的是FF 22或更高版本。FirefoxDriver在每次firefox发布后都必须跟上进度。降级到21可能会解决您的问题。@MrTi所以我用相同的代码尝试了IE 8,但无法单击IFrame中的元素。如果它抛出相同的错误,那么您需要发布HTML。在不查看所选内容的情况下调试选择器问题是非常困难的。@MrTi这是从表中的表体中提取的。我通过使用特殊链接文本点击了第一行,但是这个文本是动态的。所以我将尝试循环表并单击DynamicTest。
JavascriptExecutor executor = (JavascriptExecutor)driver;
    StringBuilder locator = new StringBuilder();
    locator.append("document.getElementByXpath('//html//body//table[7]/tbody/tr[1]/td[1]/table/tbody/tr[3]/td[1]/font/a').click();");
    executor.executeScript(locator.toString());