2

我是硒的新手。我正在尝试根据“href”属性选择一个链接。我不能在这里使用 xpath,因为每次页面加载时链接都会在页面中移动。请帮我。谢谢你。

4

4 回答 4

2

使用 xpath //a[contains(@href,'yourhref')] 和 by.xpath 或类似的 css。当您使用 // 时,它表示相对 xpath,因此无论层次结构如何,如果您的 href 是唯一的,这将为您完成工作。

于 2013-10-25T10:31:50.840 回答
0

使用 CSS 选择器,例如 driver.findElement(By.cssSelector("a[href=(your href)]")

于 2013-10-25T18:15:43.623 回答
0

您可以使用By.linkTextBy.partialLinkText例如

<a href="http://www.google.com/search?q=cheese">search for cheese</a>>

WebElement cheese = driver.findElement(By.partialLinkText("cheese"));

此示例已从此处提取

于 2013-10-25T06:14:29.760 回答
0

您可以使用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 条件。部分或全部比较。

于 2013-10-25T06:55:44.240 回答