0

当我使用萤火虫时,我把它作为 xpath 它给了我这个 /html/body/div[5]/div[2]/div/div[7]/div/div[4]/div/div[2 ]/div/ol/li/div/h3/a

我不清楚如何在 Selenium Webdriver 中使用它来单击链接。

谢谢!

4

3 回答 3

1

这在文档中有很好的介绍。

http://docs.seleniumhq.org/docs/03_webdriver.jsp#selenium-webdriver-api-commands-and-operations

但是,因为它是一个非常简单的答案,您只需执行以下操作:

driver.findElement(By.xpath("div[5]/div[2]/div/div[7]/div/div[4]/div/div[2]/div/ol/li/div/h3/a"));

(假设driver是一个有效的 WebDriver 实例,我省略了该html/body部分 - 它不是必需的)。

于 2013-04-25T19:44:10.500 回答
0

不要不必要地使用 xpath。将来会出问题。如果没有其他方法可以像@Nora 所说的那样定位该元素,请尝试简化 xpath。

在您的情况下,您可以使用 By.linkText、By.partialLinkText。

driver.findElement(By.linkText("linkName")).click();

driver.findElement(By.partialLinkText("partialTextOfLink")).click();

driver.findElement(By.xpath("//a[text()='LinkText']")).click(); //simplified xpath

如果该锚标记没有可用的其他属性(id、name ..etc),您可以使用上述任何一种。

于 2013-04-26T05:42:14.670 回答
0

始终尝试简化 xpath,尝试使用带有此 xpath 的 firebug 来查看它是否是唯一的,如果不是,您需要更具体一些。

"//h3/a"
于 2013-04-25T21:41:13.590 回答