java 如何使用Selenium根据href属性选择页面中的链接?

hfwmuf9z  于 2022-12-02  发布在  Java
关注(0)|答案(4)|浏览(195)

我是Selenium的新用户。
我正在尝试根据“href”属性选择链接。我无法在此处使用XPath表达式,因为每次加载页面时,链接都会在页面中移动。

9wbgstp7

9wbgstp71#

使用XPath表达式 //a[contains(@href,'yourhref')]by.xpath 或类似的CSS选择器。
当使用 // 时,它意味着一个相对XPath表达式,因此无论是什么层次结构,如果您的 href 属性是唯一的,它都可以为您完成这项工作。

yacmzcpb

yacmzcpb2#

您可以使用By.linkTextBy.partialLinkText,例如
<a href="http://www.google.com/search?q=cheese">search for cheese</a>>
WebElement cheese = driver.findElement(By.partialLinkText("cheese"));
这个例子是从这里摘录的

qlzsbp2j

qlzsbp2j3#

可以使用this XPath构造方法或以下方法。

public void clickLink(WebDriver driver) {

    List<WebElement> aList = driver.findElements(By.tagName("a"));

    for (WebElement el : aList) {

        // if (el.getAttribute("href").contains("your href partial value")

        if (el.getAttribute("href")
                .equalsIgnoreCase("your full hreff text")) {
            el.click();
            break;
        }
    }
}

根据需要使用 if 条件。可以是部分比较,也可以是完全比较。

rdrgkggo

rdrgkggo4#

使用CSS选择器。示例:

driver.findElement(By.cssSelector("a[href=(your href)]")

相关问题