1、Selenium-简介
Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,Selenium 可以直接运行在浏览器上,它支持所有主流的浏览器(包括PhantomJS这些无界面的浏览器),可以接收指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏
2、PhantomJS-简介
PhantomJS 是一个基于Webkit的“无界面”(headless)浏览器,它会把网站加载到内存并执行页面上的 JavaScript
3、Chromedriver-简介
Chromedriver 也是一个能够被selenium驱动的浏览器,但是和PhantomJS的区别在于它是有界面的
4、driver-安装
最简单的安装方式是:解压后把bin 目录下的可执行文件移动到环境变量下,比如/usr/bin 或者是/usr/local/bin 下面
注意:Chromedriver和电脑上的chrome版本有对应关系,建议使用最新的Chromedriver版本并且更新chrome浏览器到最新版
5、selenium 使用
5-1、加载网页: selenium通过控制浏览器,所以对应的获取的数据都是elements中的内容
from selenium import webdriver
driver = webdriver.PhantomJS(“c:…/pantomjs.exe”)
driver.get("http://www.baidu.com/" )
driver.save_screenshot("长城.png" )
5-2、定位和操作
driver.find_element_by_id(“kw”).send_keys(“长城”)
driver.find_element_by_id("su" ).click()
5-3、查看请求信息
driver.page_source
driver.get_cookies()
driver.current_url
5-4、退出
driver.close()
driver.quit()
6、selenium的定位操作
6-1、方法介绍
find_element_by_id (返回一个元素)
find_elements_by_xpath (返回一个包含元素的列表)
find_elements_by_link_text (根据连接文本获取元素列表)
find_elements_by_partial_link_text (根据连接包含的文本获取元素列表)
find_elements_by_tag_name (根据标签名获取元素列表)
find_elements_by_class_name (根据类名获取元素列表)
find_element仅仅能够获取元素,不能顾直接获取其中的数据,find_element_by_xapth也是这样
6-2:案例演示
from selenium import webdriver
driver =webdriver.Chrome()
driver.get("https://www.douban.com/" )
ret4 = driver.find_elements_by_tag_name("h1" )print (ret4[0 ].text)
ret5 = driver.find_elements_by_link_text("下载豆瓣 App" )print (ret5[0 ].get_attribute("href" ))
driver.close()
7、selenium 处理cookie
通过driver.get_cookies()能够获取所有的cookie
driver.delete_cookie("CookieName" )
driver.delete_all_cookies()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」