[英]Selenium webdriver: How to find nested tags?
一個網頁包含
<div class="divclass">
<ul>
<li>
<a href="www.abc1.com">"hello world 1"</a>
<img src="abc1.jpg">
</li>
<li>
<a href="www.abc2.com">"hello world 2"</a>
<img src="abc2.jpg">
</li>
</ul>
</div>
我可以使用div獲取數據
element = driver.find_element(class: "divclass")
element.text.split("\n")
但是我希望所有鏈接都與獲得的數據有關
我嘗試使用
driver.find_elements(:css, "div.divclass a").map(&:text)
但失敗了。 如何獲得數據的相關鏈接?
如果要獲取href屬性,請嘗試以下代碼(我不熟悉ruby,所以我將代碼發布為Java)。
List<WebElement> elements = driver.findElements(By.xpath("//*[@class='divclass']//a"));
for(WebElement webElement:elements){
System.out.println(webElement.getAttribute("href"));
}
xpath指向div標記下具有類名稱= divclass的所有a標記。 如果要獲取所有鏈接的文本,則可以使用打擊代碼:
List<WebElement> elements = driver.findElements(By.xpath("//*[@class='divclass']//a"));
for(WebElement webElement:elements){
System.out.println(webElement.getText());
}
希望能幫助到你。
在紅寶石
element = driver.find_elements(:xpath, "//*[@class='divclass']//a")
list = element.collect{|e| hash ={e.text => e.attribute("href")}}
將返回具有哈希數組中數據的相應鏈接
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.