使用Selenium和java查找href链接
我有一些带有href链接的html代码。其中包括:使用Selenium和java查找href链接,java,html,eclipse,selenium,selenium-webdriver,Java,Html,Eclipse,Selenium,Selenium Webdriver,我有一些带有href链接的html代码。其中包括: <a href="#"> 而其他人则是这样 <a href = "http://.....'>. 如果要检查a链接是否具有href属性: driver.findElements(By.xpath("//a[@href]")); 您还可以使用XPath或运算符检查a标记的特定实例: driver.findElements(By.xpath("//a[@href='#' or starts-with(@href
<a href="#">
而其他人则是这样
<a href = "http://.....'>.
如果要检查a
链接是否具有href
属性:
driver.findElements(By.xpath("//a[@href]"));
您还可以使用XPath或运算符检查a
标记的特定实例:
driver.findElements(By.xpath("//a[@href='#' or starts-with(@href, 'http://')]")
这将返回所有锚定标记,这些锚定标记的href
属性等于#
或href
属性以http://
开头
此解决方案不如@alecxe中的解决方案简单,但它可能会让您的选择更加灵活。它还提供了“过滤掉”不需要的锚标记的选项。例如,此解决方案不会返回具有相对路径的href
属性的锚定标记,例如href=“path/to/other/webpage.html”
我将使用一个简单的CSS选择器来查找具有href
属性的标记
List<WebElement> elements = driver.findElements(By.cssSelector("a[href]"));
List elements=driver.findElements(By.cssSelector(“a[href]”);
Tony,重读你的问题。它似乎不完整,可能需要更多信息。@SunSparc只是HTML标记有问题-已修复。我不需要在其中的某个位置使用“或”吗?事实上,是的,同意。请参阅我的编辑。可以使用|
或或
进行此操作。