一、准备阶段
火狐浏览器为例
模块下载: pip3 install selenium
火狐驱动下载: https://github.com/mozilla/geckodriver/releases
- 1.1 火狐驱动版本与自己使用火狐对应,下载完毕后解压
- 把geckodriver.exe拷贝到python安装目录的Scripts目录下(添加到系统环境变量)
这些弄完后验证一下,不报错就OK了
from selenium import webdriver
webdriver.Firefox()
二,简单介绍
演示如下:
- 2.1 访问网址
import time
from selenium import webdriver
# 无界面模式
#options = webdriver.FirefoxOptions()
#options.add_argument('--headless')
#browser = webdriver.Firefox(options=options)
# 初始化
browser = webdriver.Firefox() # 创建浏览器对象
browser.get('https://www.baidu.com/') # 输入网址,打开网页
browser.maximize_window() # 页面最大化
time.sleep(5) # 睡眠5秒
browser.close() # 关闭当前页
browser.quit() # 关闭浏览器
- 2.2 简单的定位输入等
# 一些常见的鼠标操作
from selenium import webdriver
from selenium.webdriver import ActionChains # 导入鼠标事件类
browser = webdriver.Firefox() # 创建浏览器对象
browser.get('https://www.baidu.com/') # 输入网址,打开网页
browser.maximize_window() # 页面最大化
# 定位
element = browser.find_element_by_xpath('//*[@id="su"]')
# 移动到指定位置,perform()执行操作
ActionChains(browser).move_to_element(element).perform()
# 找到指定位置,右键点击
ActionChains(browser).context_click(element ).perform()
# 双击鼠标
ActionChains(browser).double_click(element ).perform()
# 一些常用的查找定位
browser.find_element_by_id('id属性值') # 根据ID查找
browser.find_element_by_name('name属性值') # 根据name查找
browser.find_element_by_class_name('class属性值') # 根据class属性查找
browser.find_element_by_xpath('xpath表达式') # 根据xpath表达式
# 输入:
browser.find_element_by_xpath('xpath表达式').send_keys("内容")
# 点击
driver.find_element_by_xpath('xpath表达式').click()
- 2.3 输入的一些常用属性(键盘)
# 使用时要导入内容
from selenium.webdriver.common.keys import Keys
send_keys(param)
send_keys("内容") # 输入内容
send_keys(Keys.DELETE) # 删除内容
send_keys(Keys.ENTER) # 回车键Keys.ENTER
send_keys(Keys.SPACE) # 输入空格Keys.SPACE
send_keys(Keys.CONTROL, 'a') # 全选输入框内容
send_keys(Keys.CONTROL, 'x') # 剪切输入框内容
send_keys(Keys.CONTROL, 'v') # 粘贴内容到输入框
send_keys(Keys.BACK_SPACE) # 回退一格Keys.BACK_SPACE
更多内容查看官方文档
三、百度查找
演示代码如下:
import time
from selenium import webdriver
# 初始化
browser = webdriver.Firefox() # 创建浏览器对象
browser.get('https://www.baidu.com/') # 输入网址,打开网页
browser.maximize_window() # 页面最大化
time.sleep(1) # 睡眠1秒,等待加载一下
# 定位搜索框,并输入内容
browser.find_element_by_xpath('//*[@id="kw"]').send_keys("内容")
# 点击搜索
browser.find_element_by_xpath('//*[@id="su"]').click()
time.sleep(6)
browser.quit() # 关闭浏览器