我已经在这方面工作了一段时间了。我正在使用 Selenium 和 WebDriver 2.33 版(适用于所有浏览器)。我正在使用Java,它应该是任意的。我正在做的只是找到一个元素并将鼠标悬停在它上面,我在之前的代码中已经这样做了。但由于某种原因,我无法让这个工作。我正在尝试使用此 xpath 获取一个元素,通过在 Chrome 中右键单击 HTML 中的元素并单击“复制 xpath”来获得:
//*[@id="highcharts-10"]/svg/g[7]/g/rect[1]
这就是我试图获取元素的方式(由于“highcharts-10”动态变化):
//*[starts-with(@id, 'highcharts')]/svg/g[7]/g/rect[" + barOption + "]
barOption 输入正确(有一堆我正在尝试通过的栏)
这是我的Java代码:
WebDriverWait wait = new WebDriverWait(getWebDriver(), 5);
WebElement element;
WebDriver driver = getWebDriver();
By by = By.xpath("//*[starts-with(@id, 'highcharts')]/svg/g[7]/g/rect[" + barOption + "]");
Actions action = new Actions(driver);
WebElement elem = wait.until(ExpectedConditions.visibilityOfElementLocated(by));
action.moveToElement(elem);
action.perform();
我在这里做错了什么?我尝试过使用 switchTo() 语句,但没有可以正确切换到的 iframe。这是 HTML 的图片,因为我无法掌握实际的文本:
更新的 HTML 链接:http: //i1250.photobucket.com/albums/hh527/dr4g1116/Capture_zps6e2bc1b9.png
有人对我有什么建议吗?请让我知道我做错了什么!
谢谢!!