浏览器驱动
chromedriver
引用
from selenium.webdriver.common.by import By
from selenium.webdriver import Chrome
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
初始化
global driver
driver=Chrome()
打开网页
driver.get("网址")
常用的选择器
单个元素
#方法1
#类名即网页元素的class名
driver.find_element_by_class_name("类名")
#方法2
#类名即网页元素的Id
driver.find_element_by_id("Id名")
#方法3
#按CSS选择器书写规则
driver.find_element_by_css_selector("CSS选择器书写规则")
#方法4
#链接的文字,即<a>和</a>中间的文字
driver.find_element_by_link_text("链接的文字")
元素集合
#方法1
#类名即网页元素的class名
driver.find_elements_by_class_name("类名")
#方法2
#类名即网页元素的Id
driver.find_elements_by_id("Id名")
#方法3
#按CSS选择器书写规则
driver.find_elements_by_css_selector("CSS选择器书写规则")
#方法4
#链接的文字,即<a>和</a>中间的文字
driver.find_elements_by_link_text("链接的文字")
等待
#方法1
# 10内不断查看控件是否存在,存在则跳过等待
WebDriverWait(driver, 10).until(EC.presence_of_element_located([By.CLASS_NAME, "类名"]))
#方法2
# 10内不断查看控件是否存在,存在则跳过等待
WebDriverWait(driver, 10).until(EC.presence_of_element_located([By.CSS_SELECTOR, "CSS选择器书写规则"]))
鼠标操作
点击:要点的用选择器选出来,再点击
# 单个元素的点击操作
driver.find_element_by_class_name("类名").click()
# 元素集合的点击操作
# 1、找出集合
temp=driver.find_elements_by_class_name("类名")
# 2、选集合里的某个元素进行操作
temp[0].click()
执行js脚本
js = "JS代码"
driver.execute_script(js)
html内的切换
# 查找iframe
iframe = driver.find_element_by_css_selector("CSS选择器书写规则")
# 切换到iframe
driver.switch_to.frame(iframe)
# 切换回主文档
driver.switch_to.default_content()
# 切换到父frame
driver.switch_to.parent_frame()
输入文字
#选择器选择要输入文字的控件,后面加入send_keys方法
driver.find_element_by_id("ID名").send_keys("要输入的文字")