常用方法
id定位:find_elements(By.ID,"")
name定位:find_elements(By.Name,"")
tag定位:find_elements(By.TAG_NAME,"")
class定位:find_elements(By.CLASS_NAME,"")
link_text:find_elements(By.LINK_TEXT,"")
partial link定位:find_elements(By.PARTIAL_LINK_TEXT,"")
XPath定位:find_elements(By.XPATH,"")
CSS_selector定位:find_elements(By.CSS_SELECTOR,"")
适用场景:
统计页面中某元素出现的次数或内容
批量操作对象。如:勾选所有的复选框
注:关键在元素定位上,选择这些元素都共同拥有的字段来进行定位
实现代码
"""
百度搜索selenium,并返回搜索到的结果条数和每条结果的标题
"""
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
url = "https://www.baidu.com"
driver = webdriver.Chrome()
driver.get(url)
driver.find_element(By.ID,"kw").send_keys("selenium")
driver.find_element(By.ID,"su").click()
time.sleep(5)
# 定位一组元素
texts = driver.find_elements(By.XPATH,'//h3[contains(@class,"tts-title")]')
# 返回匹配个数
print(len(texts))
# 分别显示每条结果的标题
for t in texts:
print(t.text)
time.sleep(5)
driver.quit()