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

发布时间:2024年01月10日

练习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()




运行结果:

文章来源:https://blog.csdn.net/weixin_42242910/article/details/135411563
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。