Java 单击带有Selenium webdriver的iframe内的表元素
我试图单击的内容位于IFrame中某个表的表内。我可以切换到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
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());