1.Python的安装与配置
- 官网安装指定版本python:blog.csdn.net/qq_45502336…
- 添加python安装路径到系统变量
- 检验pip是否安装/安装pip blog.csdn.net/qq_42257666…
- 检验本机上python和pip是否安装成功与版本信息
2.Selenium的安装与配置
- 安装 cmd输入: pip install -i pypi.douban.com/simple selenium
- 检验是否安装成功
- 安装对应版本的浏览器驱动(本机Chrome)
- 将
chromedriver.exe保存到任意位置,并把当前路径保存到环境变量中
3.Selenium的导入与使用
4.Selenium的使用
获取页面
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
获取元素
以百度搜索为例:
< input type="text" class="s_ipt" name="wd" id="kw" maxlength="100" autocomplete="off" >
通过ID获取元素
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
driver.find_element_by_id('kw').send_keys("齐鲁工业大学")
driver.find_element_by_id('su').click()
通过name获取元素
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
driver.find_element_by_name('wd').send_keys("QLU")
driver.find_element_by_id('su').click()
通过class获取元素
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
driver.find_element_by_class_name('s_ipt').send_keys("QLU")
driver.find_element_by_id('su').click()
通过Xpath获取元素
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
driver.find_element_by_xpath('//*[@id="kw"]').send_keys("China")
driver.find_element_by_id('su').click()
浏览器控制
from asyncio import sleep
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
# 设计浏览器宽度和高度
driver.set_window_size(1600,800)
# 设计浏览器全屏
driver.maximize_window()
# back 浏览器返回上一页面 forword 浏览器前进至前一页面
driver.get('https://blog.csdn.net/ItoHonest')
driver.back()
driver.forward()
# 刷新页面
driver.refresh()
鼠标控制
from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
driver.find_element(By.ID, 'kw').send_keys("Python")
submitButton = driver.find_element(By.ID, 'su')
# 鼠标单击左键
submitButton.click()
#单击右键,需要使用ActionChains
ActionChains(driver).context_click(submitButton).perform()
# 执行双击动作
ActionChains(driver).double_click(submitButton).perform()
# 拖动 todo
# 悬停至more标签处
more = driver.find_element(By.NAME, 'tj_briicon')
ActionChains(driver).move_to_element(more).perform()