我正在尝试编写xPath,用于标识域中页面上的所有链接。
例如:我想在http://www.yahoo.com页面上找到一个xPath,它突出显示在同一个yahoo域中重定向的页面上的所有超链接。
我正在使用
.. Name
.. Name2
.. Name3
但并未突出显示所有链接。 我应该做些什么改动?
答案 0 :(得分:0)
试试这个//a[contains(@href,'yahoo.com')]
答案 1 :(得分:0)
您必须检查在未突出显示的内容与突出显示的内容之间存在哪些DOM差异。 据我了解,您正在寻找与我们联系的所有链接。域名,根据您的要求尝试以下内容:
//a[contains(@href,'yahoo.com/us')]
or //a[contains(@href,'/us')]
答案 2 :(得分:0)
这对我来说很好
driver.get("http://www.yahoo.com/");
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
List<WebElement> list=driver.findElements(By.xpath("//*[@href or @src]"));
for(WebElement e : list){
String link = e.getAttribute("href");
if(null==link)
link=e.getAttribute("src");
if(link.contains("https://s.yimg.com/"))
System.out.println(e.getTagName() + "=" + link);
}
希望它会对你有所帮助:)。