java - 需要通过 section id 从 HTML 获取 href

标签 java selenium selenium-webdriver katalon-studio getattribute

我需要一些帮助来在我的自动测试中从 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/

相关文章:

java - 递归删除 BST

c# - 如何在共享相同对象实例的单独文件/类中编写类的属性

java - innerhtml 中的对象未被 selenium webdriver 识别

java - Selenium invisibilityOf(element) 方法抛出 NoSuchElementException + WebDriverWait.ignoring(NoSuchElementException.class) 不起作用

java - 我如何在 testNG 中使用 IAnnotationTransformer?

java - 将带有 html/Javascript 的字符串放入 selenium webdriver

java - 如何在JAVA中将附件对象转换为ByteArray

java - 从上一步输入数据表后验证数据表中的期望

java - Thymeleaf - 仅使用两位小数格式化百分比

java - 如何在不使用 Auto 的情况下处理登录身份验证弹出窗口?