簡體   English   中英

如何使用帶有Python的Selenium Webdriver從ul li下拉列表中獲取所有選項?

[英]How to get all options from ul li drop-down using Selenium Webdriver with Python?

我正在處理的項目將下拉列表從簡單列表更改為ul li。 在此之前,從下拉列表中刪除所有選項,我將執行以下操作:

myList = [] 
el = browser.find_element_by_id('Filter_ClientDistrict')
for option in el.find_elements_by_tag_name('option'):
    myList.append(option.get_attribute("value"))

如果現在代碼看起來像這樣,如何從相同的下拉列表中刪除所有選項:

在此處輸入圖片說明

它應該是

browser.find_element_by_css_selector('#Filter_ClientDistrict button.dropdown-toggle').click()
WebDriverWait(browser, 5).until(EC.presence_of_element_located((By.CSS_SELECTOR, "#Filter_ClientDistrict ul li"))
    myList = [] 
    el = browser.find_element_by_id('Filter_ClientDistrict')
    for option in el.find_elements_by_css_selector('ul li'):
        myList.append(option.get_attribute("innerText").strip())

Selenium python:獲取所有<li>所有的文本<ul>從一個<div></div><div id="text_translate"><p>我想從幾頁中獲取所有作為dutch word = english word的單詞列表。</p><p> 通過檢查 HTML,這意味着我需要從#mw-content-text的子 div 中獲取所有ul的所有li中的所有文本。</p><p> 這是我的代碼:</p><pre> from selenium import webdriver options = webdriver.ChromeOptions() options.add_argument('headless') # start chrome without opening window driver = webdriver.Chrome(chrome_options=options) listURL = [ "https://duolingo.fandom.com/wiki/Dutch_(NL)_Skill:Basics_1", "https://duolingo.fandom.com/wiki/Dutch_(NL)_Skill:Basics_2", "https://duolingo.fandom.com/wiki/Dutch_(NL)_Skill:Phrases_1", "https://duolingo.fandom.com/wiki/Dutch_(NL)_Skill:Negative_1", ] list_text = [] for url in listURL: driver.get(url) elem = driver.find_elements_by_xpath('//*[@id="mw-content-text"]/div/ul') for each_ul in elem: all_li = each_ul.find_elements_by_tag_name("li") for li in all_li: list_text.append(li.text) print(list_text)</pre><p> 這是 output</p><pre> ['man = man', 'vrouw = woman', 'jongen = boy', 'ik = I', 'ben = am', 'een = a/an', 'en = and', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '']</pre><p> 我不明白為什么有些li文本即使它們的 xpath 相同也無法檢索(我通過開發人員控制台的副本 xpath 仔細檢查了其中的幾個)</p></div></ul></li>

[英]Selenium python: get all the <li> text of all the <ul> from a <div>

暫無
暫無

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

相關問題 如何使用帶有 Python 的 Selenium Webdriver 抓取下拉菜單選項? 如何使用 select 這個非 select 下拉菜單中的元素使用 Selenium Webdriver 和 ZA7F57F35426B9387411 使用Selenium Webdriver從python的下拉列表中選擇選項 如何使用帶有 Python 的 Selenium Webdriver 使用 mat-options 找到下拉列表的長度? 無法使用Selenium Web驅動程序python從自動完成下拉列表中選擇多個選項 使用 Selenium Python 從包含多個下拉選項的動態表中抓取數據 Selenium python:獲取所有<li>所有的文本<ul>從一個<div></div><div id="text_translate"><p>我想從幾頁中獲取所有作為dutch word = english word的單詞列表。</p><p> 通過檢查 HTML,這意味着我需要從#mw-content-text的子 div 中獲取所有ul的所有li中的所有文本。</p><p> 這是我的代碼:</p><pre> from selenium import webdriver options = webdriver.ChromeOptions() options.add_argument('headless') # start chrome without opening window driver = webdriver.Chrome(chrome_options=options) listURL = [ "https://duolingo.fandom.com/wiki/Dutch_(NL)_Skill:Basics_1", "https://duolingo.fandom.com/wiki/Dutch_(NL)_Skill:Basics_2", "https://duolingo.fandom.com/wiki/Dutch_(NL)_Skill:Phrases_1", "https://duolingo.fandom.com/wiki/Dutch_(NL)_Skill:Negative_1", ] list_text = [] for url in listURL: driver.get(url) elem = driver.find_elements_by_xpath('//*[@id="mw-content-text"]/div/ul') for each_ul in elem: all_li = each_ul.find_elements_by_tag_name("li") for li in all_li: list_text.append(li.text) print(list_text)</pre><p> 這是 output</p><pre> ['man = man', 'vrouw = woman', 'jongen = boy', 'ik = I', 'ben = am', 'een = a/an', 'en = and', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '']</pre><p> 我不明白為什么有些li文本即使它們的 xpath 相同也無法檢索(我通過開發人員控制台的副本 xpath 仔細檢查了其中的幾個)</p></div></ul></li> 如何在Python中獲取Selenium以使用下拉式日歷? 使用selenium python從下拉選項中選擇一個值 如何使用 Python 與 Selenium 一起 select 下拉菜單值?
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM