我是硒的新手。我正在尝试根据“href”属性选择一个链接。我不能在这里使用 xpath,因为每次页面加载时链接都会在页面中移动。请帮我。谢谢你。
问问题
7920 次
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.linkText
或By.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 回答