当我使用萤火虫时,我把它作为 xpath 它给了我这个 /html/body/div[5]/div[2]/div/div[7]/div/div[4]/div/div[2 ]/div/ol/li/div/h3/a
我不清楚如何在 Selenium Webdriver 中使用它来单击链接。
谢谢!
这在文档中有很好的介绍。
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
部分 - 它不是必需的)。
不要不必要地使用 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),您可以使用上述任何一种。
始终尝试简化 xpath,尝试使用带有此 xpath 的 firebug 来查看它是否是唯一的,如果不是,您需要更具体一些。
"//h3/a"