selenium的web自动化实战
selenium自动化原理:
1.通过各种语言(python,java,ruby等)调用接口库
2.通过浏览器驱动(web driver)来驱动浏览器
利用Python自动化的环境安装:
1.python解释器与pycharm集成开发环境的安装---安装过程
2.客户端库的安装:打开cmd,输入:pip install selenium
3.安装浏览器与浏览器驱动(驱动下载至那里都行)
谷歌浏览器驱动下载地址:http://chromedriver.storage.googleapis.com/index.html
选择相应的系统,windows64位也可选win32.zip
自动化中的对象:
Webdriver实例对象(浏览器驱动对象-控制浏览器)
WebElement实例对象(浏览器元素对象)
python + selenium自动化实例:
实现前程无忧搜索深圳的测试工程师岗位,并抓取到控制台中:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #导入seleniumfrom selenium import webdriver#导入谷歌浏览器驱动赋值为driver driver = webdriver.Chrome(r 'H:\Pycharm\chromedriver.exe' ) #让驱动暂停10s,防止页面渲染未完成无法获取数据 driver.implicitly_wait( 10 ) #通过驱动的get方法打开前程无忧官网 driver.get( 'http://www.51job.com' ) #通过id找到输入框并设置其内容为测试工程师 driver.find_element_by_id( "kwdselectid" ).send_keys( '测试工程师' ) #通过id找到城市选择的按钮并点击 driver.find_element_by_id( "work_position_input" ).click() #获取热门城市中每一个城市的em标签 cityEles = driver.find_elements_by_css_selector( '#work_position_click_center_right_list_000000 em' ) for city in cityEles: cityName = city.text #打印城市名字 selected = city.get_attribute( 'class' ) = = 'on' #查看每个城市是否被选中 if (cityName = = '深圳' and not selected) or (cityName ! = '深圳' and selected): #如果深圳没被选择 或者 除深圳以外都被选中 则点击 city.click() #获取确定按钮并点击 driver.find_element_by_id( 'work_position_click_bottom_save' ).click() #获取搜索按钮并点击 driver.find_element_by_css_selector( '.ush button' ).click() #获取测试岗位信息的所有行 jobs = driver.find_elements_by_css_selector( '#resultList div.el' )#打印职位信息 for job in jobs: filelds = job.find_elements_by_tag_name( 'span' ) strField = [fileld.text for fileld in filelds] print ( ' | ' .join(strField)) driver.quit() |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南