Selenium Python:选择类中的所有项并将它们放入列表?
有没有办法获得某个类的所有元素并将其放入列表中?例如:Selenium Python:选择类中的所有项并将它们放入列表?,python,selenium,xpath,css-selectors,classname,Python,Selenium,Xpath,Css Selectors,Classname,有没有办法获得某个类的所有元素并将其放入列表中?例如: <li class="Fruit">Apple</li> <li class="Fruit">Orange</li> 苹果 橙色 我想把苹果和橘子列在一个单子里 driver.find_elements_by_class_name("Fruit") Find elements返回所有符合给定条件的元素,这里是类名,它返回li
<li class="Fruit">Apple</li>
<li class="Fruit">Orange</li>
苹果
driver.find_elements_by_class_name("Fruit")
Find elements返回所有符合给定条件的元素,这里是类名,它返回list
您可以将文本打印为:
或
Find elements返回所有符合给定条件的元素,这里是类名,它返回list
您可以将文本打印为:
或
要从所有
中提取并打印文本,例如苹果、橙色等,您可以使用以下任一选项:
- 使用
和class\u name
:get\u属性(“textContent”)
- 使用
和css\u选择器
:get\u属性(“innerHTML”)
- 使用
和文本属性:xpath
print([my_elem.text for my_elem in driver.find_elements_by_xpath("//*[@class='Fruit']")])
print([my_elem.text for my_elem in WebDriverWait(driver, 20).until(EC.visibility_of_all_elements_located((By.XPATH, "//*[@class='Fruit']")))])
理想情况下,您需要引导所有元素的可见性(),您可以使用以下任一项:
- 使用
和CLASS\u NAME
:get\u属性(“textContent”)
- 使用
和CSS\u选择器
:get\u属性(“innerHTML”)
- 使用
和文本属性:XPATH
print([my_elem.text for my_elem in driver.find_elements_by_xpath("//*[@class='Fruit']")])
print([my_elem.text for my_elem in WebDriverWait(driver, 20).until(EC.visibility_of_all_elements_located((By.XPATH, "//*[@class='Fruit']")))])
- 注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC
奥特罗 链接到有用的文档:
- 方法
获取元素的给定属性或属性。
- 属性返回元素的文本。
中提取和打印文本,例如苹果、橙色等,您可以使用以下任一选项:
- 使用
和class\u name
:get\u属性(“textContent”)
- 使用
和css\u选择器
:get\u属性(“innerHTML”)
- 使用
和文本属性:xpath
print([my_elem.text for my_elem in driver.find_elements_by_xpath("//*[@class='Fruit']")])
print([my_elem.text for my_elem in WebDriverWait(driver, 20).until(EC.visibility_of_all_elements_located((By.XPATH, "//*[@class='Fruit']")))])
理想情况下,您需要引导所有元素的可见性(),您可以使用以下任一项:
- 使用
和CLASS\u NAME
:get\u属性(“textContent”)
- 使用
和CSS\u选择器
:get\u属性(“innerHTML”)
- 使用
和文本属性:XPATH
print([my_elem.text for my_elem in driver.find_elements_by_xpath("//*[@class='Fruit']")])
print([my_elem.text for my_elem in WebDriverWait(driver, 20).until(EC.visibility_of_all_elements_located((By.XPATH, "//*[@class='Fruit']")))])
- 注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC
奥特罗 链接到有用的文档:
- 方法
获取元素的给定属性或属性。
- 属性返回元素的文本。