簡體   English   中英

Selenium Webdriver:如何查找嵌套標簽?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM