赞
踩
利用浏览器原生的API,封装成一套更加面向对象的Selenium WebDriver API,直接操作浏览器页面里的元素,甚至操作浏览器本身(截屏,窗口大小,启动,关闭,安装插件,配置证书之类的)
在python虚拟环境中安装selenium模块 pip install selenium
右上角打开设置,然后点击下面的关于Chrome
点开关于Chrome,中间就可以看到关于Google Chrome的版本。每个人的不一样,具体看自己装的版本。
点击上面的链接,找到对应版本点进去。关注前面的几个数字就好,不要关注版本最后面的几个数字。
这一个note里面的版本是84的,我的Google Chrome版本也是84 的,就是正确匹配我的版本的。你们下载自己对应的版本即可!
然后从上一步查看note里面退出,下载自己对应的压缩包即可!win,mac,linux的。这一个很好分辨的!
windows环境下需要将 chromedriver.exe 所在的目录设置为path环境变量中的路径
linux/mac环境下,将 chromedriver 所在的目录设置到系统的PATH环境值中
或者偷懒的情况下,可以直接放在你写爬虫的目录下面,直接路径查找这一Chromedriver,使用即可!
实现流程:
from selenium import webdriver # 1.创建浏览器对象 # 如果driver添加了环境变量则不需要设置executable_path driver = webdriver.Chrome(executable_pat="./chromedriver") # 2.向目标URL发送请求 driver.get("http://www.baidu.com/") # 3.操作浏览器对象的行为 # 把网页保存为图片,69版本以上的谷歌浏览器将无法使用截图功能 driver.save_screenshot("baidu.png") # 打印页面的标题 print(driver.title) # 4.退出模拟浏览器 不退出会有残留进程! driver.quit()
上面一段代码运行之后。会有下面两个:
1、在终端打印出title:“百度一下,你就知道”
2、会把百度首页截图,并且保存!
代码:
import time from selenium import webdriver # 1.创建浏览器驱动对象 driver = webdriver.Chrome('chromedriver.exe') # 2.想目标url发送请求 driver.get("https://www.baidu.com") # 3.操作页面 # 找到id为kw的input框,往里面填充python搜索关键字 driver.find_element_by_id("kw").send_keys("python") # 找到id为su的搜索按钮,点击按钮 driver.find_element_by_id("su").click() # 延迟2秒保证截图内容已经加载完毕 time.sleep(2) # 保存截图 driver.save_screenshot("python.png") # 4.关闭浏览器 driver.quit()
代码运行就会自动打开百度首页,然后输入"python"进行搜索,之后就会关闭!!
最后保存图片
个人记录,新手入门,多多学习,欢迎大家交流探讨!
个人网站: http://106.54.78.238/
song_of _sea的个人网站 http://106.54.78.238/
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。