web自动化之巩固练习(第九天)

练习1

一.对于这个网址 https://www.51job.com
1.点击搜索
2.输入搜索关键词-python
3.选择工作职能--互联网技术-高级软件工程师
4.地区选择杭州(点击地区按钮,把默认的城市取消掉,选择杭州,点击确定按钮)
5.打印搜索的信息(每个职位的信息和公司的信息和城市信息,工资)

参考代码:

import pprint
import time
from selenium import webdriver
#注意:如果有下拉框遮挡,要点击一下才能选择其他的内容,可点击旁边不会产生事件的元素,取消遮挡# 创建浏览器驱动对象,这里是打开浏览器(想用哪个浏览器,就要用哪个的驱动)
# driver = webdriver.Chrome("E:\愤怒吧小鸟\chromedriver-win64\chromedriver.exe")
driver=webdriver.Edge("E:\愤怒吧小鸟\edgedriver_win64\msedgedriver.exe")
# 访问网址
driver.get("https://www.51job.com")
#1.找到搜索按钮,并点击搜索按钮
ele=driver.find_element_by_css_selector('div[class="content"] div[class="ush top_wrap"] button')
ele.click()
time.sleep(5)
#2.定位搜索全文/职位名,并输入python内容
ele=driver.find_element_by_id("keywordInput")
ele.send_keys('python')
#3.定位工作职能
ele=driver.find_element_by_css_selector('.j_search_in>div:nth-child(3)>p[class="at"]')
ele.click()
#并再点击互联网技术后,再点击高级软件工程师(弹窗一个新界面)
driver.find_element_by_css_selector('div[title="互联网技术"]').click()
time.sleep(2)
driver.find_element_by_css_selector('div[title="高级软件工程师"]').click()
#点击确定按钮
driver.find_element_by_css_selector('.dialog_footer_wrapper>button:nth-child(2)').click()
#4.选择工作地点---杭州
#点击全部城市
driver.find_element_by_css_selector('.allcity').click()
#取消默认选中的城市(这种元素是会变化的)
# driver.find_element_by_css_selector('.j_filter .tag-item+i').click()  #没有默认选择的城市,则注释这行信息
#定位杭州,并点击
driver.find_element_by_css_selector('span[title="杭州"]').click()
#点击确定
driver.find_element_by_css_selector('.j_filter>div:nth-child(5) span[class="dialog-footer"]').click()time.sleep(1)
#该网页选择一些信息后,自己就会刷新界面#打印出,python+高级软件工程师+杭州地点的搜索结果职位信息
# 匹配每一个职位
perList=driver.find_elements_by_css_selector('div[sensorsname="JobShortExposure"]')
# print(perList)
for one in perList:# 打印一级菜单名称,后面css定位的内容为:# div[sensorsname = "JobShortExposure"] span[class ="jname text-cut"]#获取职位名称jobList=one.find_element_by_css_selector(' span[class ="jname text-cut"]').text#获取公司名称#div[sensorsname="JobShortExposure"] a[class="cname text-cut"]companyList=one.find_element_by_css_selector(' a[class="cname text-cut"]').text#获取工资salaryList=one.find_element_by_css_selector(' span[class ="sal shrink-0"]').text#获取地点cityName=one.find_element_by_css_selector(' div[class="shrink-0"]').textprint("{}|{}|{}|{}".format(jobList, companyList, cityName, salaryList))# print("职位名称:"+jobList,'公司名称:'+companyList,'薪资:'+salaryList,'地点名称:'+cityName)
driver.quit()

运行结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/336330.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RK3566环境搭建

环境:vmware16,ubuntu 18.04 安装依赖库: sudo apt-get install repo git ssh make gcc libssl-dev liblz4-tool expect g patchelf chrpath gawk texinfo chrpath diffstat binfmt-support qemu-user-static live-build bison flex fakero…

信号浪涌保护器的原理和行业应用方案

信号浪涌保护器(Surge Protective Device,简称SPD)是一种用于限制信号线路中瞬态过电压和分泄浪涌电流的防雷装置,主要用于保护各类信号线路及设备的防雷安全。信号浪涌保护器的原理是利用气体放电管、压敏电阻、齐纳二极管等非线…

一篇文章了解做仿真软件的达索系统-达索代理商

达索系统是一家全球领先的仿真软件公司,致力于为客户提供创新和高效的解决方案。该公司的仿真软件被广泛应用于航空航天、汽车、能源、医疗等领域,为客户提供了强大的工程仿真能力。 达索系统的仿真软件具有多个特点,包括高精度、高效率、易用…

07、Kafka ------ 消息生产者(演示 发送消息) 和 消息消费者(演示 监听消息)

目录 Kafka --- 消息生产者★ 消息★ 消息的分发机制★ 分发到哪个分区★ 轮询策略(round-robin)★ 使用命令行工具发送消息演示添加消息 Kafka --- 消息消费者★ 消息消费者命令▲ 监听 【指定主题】 的所有消息:▲ 监听 【指定主题、指定分区】的所有消…

智能化输电线路定位技术:提升电网运行效率的未来发展方向

随着科技的不断发展,电力行业也在逐步引入智能化技术,以提高输电线路的运行效率和安全性。在这篇文章中,恒峰智慧科技将探讨一种新的输电线路定位技术——分布式行波测量技术,它如何帮助我们实现这一目标。 一、分布式故障定位及隐…

Burp Suite拦截信息或返回数据中文乱码,解决不显示中文

1.点击User options->Display。 2.点击change font,选择宋体。Charater sets选择UTF-8(如果还是乱码,看一下请求或响应字符集 charserxxx)。

oracle角色管理

常用角色 CONNECT,RESOURCE,DBA,EXP_FULL_DATABASE,IMP_FULL_DATABASE 1角色可以自定义,语法与创建用户一样 CREATE role role1 IDENTIFIED by 123; 2授权权限给角色 --自定义角色 CREATE role role1 IDENTIFIED by 123; --授权权限给角色 GRANT create view, …

106短信群发如何发送会员通知

106短信群发可以通过以下步骤发送会员通知: 1.确定通知内容:首先需要确定要发送的通知内容,包括通知的主题、内容、时间、地点等信息。 2.设计通知模板:根据通知内容,设计通知模板。模板应包括短信的格式、语言风格、…

基于Jackson封装的JSON、Properties、XML、YAML 相互转换的通用方法

文章目录 一、概述二、思路三、实现四、测试 一、概述 我们在 yaml转换成JSON、MAP、Properties 通过引入 实现了JSON、Properties、XML、YAML文件的相互转换,具体封装的类、方法如下: 上面的实现,定义了多个类、多个方法,使用…

第2章 监督学习

目录 1. 分类与回归2. 泛化、过拟合与欠拟合模型复杂度与数据集大小的关系 3. 监督学习算法3.1 一些样本数据集3.2 k近邻3.2.1 k近邻分类(sklearn.neighbors.KNeighborsClassifier)3.2.2 分析 KNeighborsClassifier3.3.3 k近邻回归(sklearn.n…

如何用 AI 给科研提速?超长对话记忆 Kimi Chat 体验

我尝试了网络文章总结、学术文献分析,以及长文翻译。 最近经常听小伙伴提及 Kimi Chat 这款国产大语言模型,据说它在上下文记忆能力很有特色。于是我打开官网(https://kimi.moonshot.cn/)进行了尝试,今天就来给你分享一…

2024年第九届机器学习技术国际会议(ICMLT 2024) 即将召开

2024年第九届机器学习技术国际会议(ICMLT 2024)将于2024年5月24-26日在挪威奥斯陆举行。ICMLT 2024旨在讨论机器学习技术领域的最新研究技术现状和前沿趋势,为来自世界各地的科学家、工程师、实业家、学者和其他专业人士提供一个互动和交流的…