如何使用href属性查找Web元素

时间:2014-03-24 14:46:57

标签: java html selenium xpath selenium-webdriver

这很直截了当。我有一个包含href值的String。我想在页面上找到包含该特定href的web元素。我正在使用:

String href = "http://www.bing.com/images?FORM=Z9LH";
driver.findElement(By.cssSelector("a[href*='" + href + "']")).click()

如果您检查www.bing.com,您可以看到左上方的第一个链接“图像”具有我在此处设置的href值。 当我跑步时,它表示页面上没有这样的元素。我觉得我没有使用正确的“查找依据”选项。

2 个答案:

答案 0 :(得分:0)

这应该适合你:

driver.findElement(By.cssSelector("li#scpt0>a")).click();

答案 1 :(得分:0)

据我所知,我的链接显示为:

href="/?scope=images&FORM=Z9LH1"

因此,您可以尝试更改href变量的值。 (如果您使用chrome查看源代码,请注意您在F12控制台中看到的内容以及您使用Ctrl+U看到的内容是不同的。Ctrl+U通常是wha web解析器看到的,在执行任何JS或制作子查询之前)

此外,请注意搜索引擎(google,bing ...)通常不喜欢被解析,他们会尽其所能让你的工作变得不可能:使用JS,iframe,改变模式... < / p>