我需要一些帮助来在我的自动测试中从 HTML 获取 href。 我的测试应该从具有 id =“product-page”的网站获取特定的 url(我们可以在其中找到带有某些选项的产品)。我有一些应该起作用的方法,但它不起作用。
HTML 片段:
<section id="product-page">
<div class="container">
<div class="row">
<div class="col-12">
<ul class="breadcrumb">
<li><a href="/">Home</a></li>
<li><a href="/e-cigs-vaping-devices">E cigs vaping devices</a></li><li><a href="/e-cigs-vaping-devices/logic-pro-vaporizer">Logic pro vaporizer</a></li></ul></div></div></div>
方法:
public ArrayList<String> verifyProductSection(String divID) {
KeywordUtil.logInfo("Get all Products links");
String ModifiedString="";
ModifiedString=divID.toLowerCase();
WebDriver driver = DriverFactory.getWebDriver();
List<String>ActualProductsLinks = new ArrayList<String>();
WebElement element = driver.findElement(By.id("product-page"));
List<WebElement> options = element.findElements(By.tagName("a"));
System.out.println(options.size());
int ActualLinksSize = 0;
for (WebElement we : options) {
String strLinkName = we.getText();
//println strLinkName.isEmpty();
if (strLinkName == null || strLinkName.isEmpty()){
}else{
ActualProductsLinks.add(strLinkName);
ActualLinksSize=ActualLinksSize+1;
println (ActualLinksSize + " : Product Link Name : " + strLinkName);
}
}
println ActualLinksSize;
}
最佳答案
据我了解你的问题。您想要从上述部分中提取所有链接。
使用下面的代码,如果有进一步的疑问,请告诉我。
WebElement section = driver.findElement(By.id("product-page"));
List<WebElement> links = section.findElement(By.cssSelector(".breadcrumb a"));
System.out.println("total links : " + links.size());
for(int i=0 ; i<links.size(); i++)
{
System.out.println("Linktext : " + links.get(i).getText());
System.out.println("Link href : " + links.get(i).getAttribute("href"));
}
关于java - 需要通过 section id 从 HTML 获取 href,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52702038/