簡體   English   中英

selenium python 中的 find_element_by_class_name 的屬性是什么?

[英]What are properties of find_element_by_class_name in selenium python?

browser = webdriver.Firefox()
browser.get(url)
divs = browser.find_elements_by_class_name('class')

browser.find_element_by_class_name('class') 是否有任何屬性?

例如,如果我有這樣的代碼:

<div class="foo">
    <a href="" class="poo">one</a>
    <a href="" class="poo">two</a>
    <a href="" class="poo">three</a>
</div>
<div class="foo">
    <a href="" class="koo">one</a>
    <a href="" class="koo">two</a>
    <a href="" class="koo">three</a>
</div>

我想從“a”標簽中獲取文本。 但首先我想獲得 div。 所以我做這樣的事情:

divs = browser.find_elements_by_class_name('foo')

現在我想從我的 divs 數組中獲取所有的 'a' 標簽。 可能嗎?

CLASS_NAME

CLASS_NAMESelenium支持的定位器策略之一,也是WebElement接口的一個屬性,它獲取和設置指定元素的class屬性的值。

要從帶有父<div>標記的<a>標記中獲取文本,您可以使用以下任一定位器策略

  • 使用CLASS_NAME

     print([my_elem.text for my_elem in WebDriverWait(driver, 10).until(EC.visibility_of_all_elements_located((By.CLASS_NAME, "koo")))])
  • 使用CSS_SELECTOR

     print([my_elem.text for my_elem in WebDriverWait(driver, 10).until(EC.visibility_of_all_elements_located((By.CSS_SELECTOR, "div.foo a.koo")))])
  • 使用XPATH

     print([my_elem.text for my_elem in WebDriverWait(driver, 10).until(EC.visibility_of_all_elements_located((By.XPATH, "//div[@class='foo']//a[@class='koo']")))])

您可以在元素中找到元素,並使用嵌套循環提取它們:

divs = browser.find_elements_by_class_name('foo')

for div in divs:
    elements = div.find_elements_by_tag_name('a')
    for element in elements:
        print(element.text)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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