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"]').text
    print("{}|{}|{}|{}".format(jobList, companyList, cityName, salaryList))
    # print("职位名称:"+jobList,'公司名称:'+companyList,'薪资:'+salaryList,'地点名称:'+cityName)
driver.quit()




运行结果:

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Asp .Net Web应用程序(.Net Framework4.8)网站发布到IIS

开启IIS 如果已开启跳过这步 打开控制面板-程序 打开IIS 发布Web程序(.Net Framework 4.8 web网页) 进入IIS管理器新建一个应用池 新建一个网站 网站创建完毕 为文件夹添加访问权限 如果不添加访问权限,运行时将会得到如下错误 设置权限 勾…

华为 1+X《网络系统建设与运维(高级)》认证模拟实验上机试题

华为 1X《网络系统建设与运维(高级)》认证模拟实验上机试题 一、考试背景二、考试说明2.1考试分数说明2.2考试要求2.3考试环境介绍2.4启动考试环境2.5保存答案(非常重要) 三、考试正文3.1注意事项3.2校区内(LAN)3.2.1任务 1&#…

IPC之十四:使用libdbus通过select()接收D-Bus消息的实例

在『进程间通信』系列文章中前面已经有三篇关于D-Bus的文章,本文继续讨论D-Bus;libdbus抽象了实现IPC时实际使用的方式(管道、socket等),libdbus允许在一个D-Bus连接上添加一个watch,通过watch对实际IPC中使用的文件描述符进行监视…

MySQL之导入、导出

目录 一.navicat导入导出二.mysqldump命令导入导出2.1 导出2.2 导入 三.LOAD DATA INFILE命令导入导出四.远程备份五.思维导图 一.navicat导入导出 使用Navicat工具导入t_log 共耗时 45s; 二.mysqldump命令导入导出 2.1 导出 导出表数据和表结构: 语法&#xff…

IntelliJ IDEA如何使用固定地址公网远程访问本地Mysql数据库

文章目录 1. 本地连接测试2. Windows安装Cpolar3. 配置Mysql公网地址4. IDEA远程连接Mysql小结 5. 固定连接公网地址6. 固定地址连接测试 IDEA作为Java开发最主力的工具,在开发过程中需要经常用到数据库,如Mysql数据库,但是在IDEA中只能连接本…

转专业(UPC练习)

题目描述 根据教育部的规定,大学生进校后符合条件的可申请转专业。在校本科生在完成大学一年级课程,进入二年级之前,符合以下条件之一者,可以申请转专业:(1)在某一学科方面确有特长的学生&#…

什么是云安全?如何保护云资源

云计算允许组织通过互联网按需向其客户、合作伙伴或员工提供关键业务应用程序、服务和资源。换句话说,不再需要物理维护资源。每当您通过 Internet 从计算机访问文件或服务时,您都是在访问云。 迁移到云可以帮助企业增强安全性、简化运营并降低成本。企…

智数融合|低代码入局,推动工业数字化转型走"深"向"实"

当下,“数字化、智能化”已经不再是新鲜词汇。事实上,早在几年前,就有企业开始大力推动数字化转型,并持续进行了一段时间。一些业内人士甚至认为,“如今的企业数字化已经走过了成熟期,进入了深水区。” 但事…

如何在Linux上部署1Panel面板并远程访问内网Web端管理界面

文章目录 推荐 前言1. Linux 安装1Panel2. 安装cpolar内网穿透3. 配置1Panel公网访问地址4. 公网远程访问1Panel管理界面5. 固定1Panel公网地址 推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳…

python_selenium_安装基础学习

目录 1.为什么使用selenium 2.安装selenium 2.1Chrome浏览器 2.2驱动 2.3下载selenium 2.4测试连接 3.selenium元素定位 3.1根据id来找到对象 3.2根据标签属性的属性值来获取对象 3.3根据xpath语句来获取对象 3.4根据标签的名字获取对象 3.5使用bs4的语法来获取对象…

2023年全国职业院校技能大赛(高职组)“云计算应用”赛项赛卷①

2023年全国职业院校技能大赛(高职组) “云计算应用”赛项赛卷1 目录 需要竞赛软件包环境以及备赛资源可私信博主!!! 2023年全国职业院校技能大赛(高职组) “云计算应用”赛项赛卷1 模块一 …

【数据库原理】期末突击(1)

有不会的题可以后台问我的哦,看见了就会回。 本文章主要是选择题、填空题,下章将更新综合题,祝大家期末心想事成。 一、选择题 下列关系运算中,( C )运算不属于专门的关系运算。 A.选择 …

随机输一次

大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示: 现要求你编写一个控制赢面的程序,根据对方的出招,给出对应的赢招。但是!为了不让对方意识到你在控制结果,你需要隔 K …

npm run dev,vite 配置 ip 访问

启动项目通过本地 ip 的方式访问 方式一.通过修改 package.json "scripts": {"dev": "vite --host 0.0.0.0",}, 方式二.通过修改 vite.config.ts export default defineConfig({plugins: [vue(), vueJsx()],server: { // 配置 host 与 port 方…

ERD助力研发资产沉淀研发提效

一、从痛点中思考答案 痛点一:复杂系统的设计和逻辑碎片化散落,缺少沉淀导致系统后期维护、迭代以及架构升级都非常困难。 痛点二:由于新需求或新项目导致的系统的老旧逻辑梳理往往耗费大量人力,甚至造成人才的流失。 痛点三&a…

双指针(简化哈希)力扣15.三数之和

题目 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k ,同时还满足 nums[i] nums[j] nums[k] 0 。请 你返回所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复的三元组。 …

ADS仿真 之 瞬态仿真

瞬态仿真常用于低频模拟和数字电路的仿真,是用来模拟电压或者电流随时间的变化趋势, ADS在Simulation-transient面板中提供了与瞬态仿真相关的控件, 主要是瞬态仿真控件,一般的瞬态仿真主要关注时间的设置和时间的控制方式&#x…

编码技巧(二) element-ui table中根据状态控制是否可以勾选

项目中使用element-ui时,表格中的数据有不同的状态,需要对某个状态的数据进行 勾选操作 如图所示: 只有id为12的符合条件可以进行勾选 <el-table-column type="selection" header-align="center" :selectable="selectable" align="c…

1.4.1机器学习——梯度下降+α学习率大小判定

1.4.1梯度下降 4.1、梯度下降的概念 ※【总结一句话】&#xff1a;系统通过自动的调节参数w和b的值&#xff0c;得到最小的损失函数值J。 如下&#xff1a;是梯度下降的概念图。 我们有一个损失函数 J(w,b)&#xff0c;包含两个参数w和b&#xff08;你可以想象成J(w,b) w*x…

竞赛保研 基于深度学习的动物识别 - 卷积神经网络 机器视觉 图像识别

文章目录 0 前言1 背景2 算法原理2.1 动物识别方法概况2.2 常用的网络模型2.2.1 B-CNN2.2.2 SSD 3 SSD动物目标检测流程4 实现效果5 部分相关代码5.1 数据预处理5.2 构建卷积神经网络5.3 tensorflow计算图可视化5.4 网络模型训练5.5 对猫狗图像进行2分类 6 最后 0 前言 &#…