基本框架
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains
# 打开driver
driver = webdriver.Edge("./msedgedriver.exe")
# 请求url
driver.get("https://baidu.com")
# 根据XPATH定位元素,如果XPATH定位不到则尝试适用CLASS定位
input = driver.find_element(By.XPATH, '//*[@id="kw"]')
# 往输入框输入元素
input.clear()
input.send_keys("selenium")
# 点击按钮
submit = driver.find_element(By.XPATH, '//*[@id="su"]')
submit.click()
遇到的问题
打开文件乱码
根据文件的编码方式,在打开文件时指定解码方式即可
f = open('test.txt', 'r', encoding='UTF-8')
Message: element not interactable
有些元素会在鼠标移动到其上方后改变自身属性,所以需要模拟鼠标并二次定位
action = ActionChains(driver)
btn = driver.find_element(
By.XPATH, '//*[@id="app"]/button')
action.move_to_element(btn).perform()
time.sleep(1) # sleep一下等待页面变化完成
new_btn = driver.find_element(
By.XPATH, '//*[@id="app"]/button')
new_btn.click()
定位不到元素
XPATH失效的时候改用CLASS_NAME
login = driver.find_element(By.CLASS_NAME, 'submit-btn')
标签:XPATH,汇总,driver,爬虫,element,btn,find,selenium
From: https://www.cnblogs.com/yuxiayizhengwan/p/16824058.html