一、安装selenium
1,安装selenium
-- 命令:
pip install selenium
-- 网络不稳的请换源安装:
pip install selenium -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
二、安装chrome webdriver
1.查看谷歌浏览器版本
打开谷歌浏览器——点击左侧三个点——点击帮助——点击关于Google chrome
2.下载谷歌浏览器webdriver驱动
打开百度,输入chrome webdriver,下载谷歌浏览器webdriver驱动
http://npm.taobao.org/mirrors/chromedriver/
或者点击
https://www.cnblogs.com/aiyablog/articles/17948703#:~:text=chromedriv
-- 根据自己谷歌版本选择驱动器
-- 选择对应版本,如果没有对应版本选择跟谷歌版本相近但不超过谷歌版本的 -- 下载后解压
3.拷贝到python安装路径的根目录 (where python)
4.配置环境变量(一般可以省略)
-- 将webdriver驱动所在文件路径复制
-- 添加到系统环境变量里的Path路径里
三、测试
1.验证是否配置完成
from selenium import webdriver
a = webdriver.Chrome()
a.get('https://www.baidu.com/')
如果自动进入百度界面——成功
2.如果上述操作报错,执行以下方法:
-- 将下载的驱动放入python环境的Scripts的文件夹里
-- 再将路径添加到环境变量(如果安装python时勾选了自动添加环境变量这步可省略)
3.执行测试文件打开百度之后闪退解决:
(1)检查selenium版本
import selenium
print(selenium.__version__)
(2)卸载当前版本selenium pip uninstall selenium
(3)安装指定版本
selenium pip install selenium==4.1.1 -i https://pypi.tuna.tsinghua.edu.cn/simple package_name
四、selenium使用
1.selenium基本使用
from selenium import webdriver # # 驱动浏览器 from selenium.webdriver.common.by import By #选择器 from selenium.webdriver.common.keys import Keys #按键 from selenium.webdriver.support.wait import WebDriverWait #等待页面加载完毕,寻找某些元素 from selenium.webdriver.support import expected_conditions as EC ##等待指定标签加载完毕
# pip install selenium -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
from selenium import webdriver # # 驱动浏览器
from selenium.webdriver.common.by import By #选择器
from selenium.webdriver.common.keys import Keys #按键
from selenium.webdriver.support.wait import WebDriverWait #等待页面加载完毕,寻找某些元素
from selenium.webdriver.support import expected_conditions as EC ##等待指定标签加载完毕
# 1,驱动浏览器
browser = webdriver.Chrome()
# 2,请求页面 --返回的数据封装在了browser对象里,不需要额外的变量接收
browser.get('https://www.baidu.com') #调用浏览器驱动访问站点
# 3,拿到输入框
text_input = browser.find_element(By.ID,'kw')
# 4,向输入框中写入内容
text_input.send_keys('爬虫')
# 5,按下回车按钮
text_input.send_keys(Keys.ENTER)
# # 等待事件 -- 怕网速慢
wait = WebDriverWait(browser,100) # 参数1:浏览器对象 参数2:时间(秒)
# # 等待某元素出现 presence_of_element_located()传入的参数格式是一个元组
wait.until(EC.presence_of_element_located((By.ID,'result_tts_player')))
print(browser.current_url) #查看url
print(browser.get_cookies()) #查看cookie
print(browser.page_source) #查看源代码
browser.close() # 关闭浏览器