我已经在这方面工作了一段时间了。我正在使用 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
有人对我有什么建议吗?请让我知道我做错了什么!
Thanks!!