from selenium import webdriver
from selenium.webdriver.common.by import By
from time import sleep
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
# 启动Edge内核 executable_path=path
driver=webdriver.Edge()
#调窗口至全屏大小
driver.maximize_window()
#打开页面
driver.get('https://www.zhipin.com/zhengzhou/?sid=sem_pz_360pc_title')
sleep(5)
for i in range(20):
# 调用driver.execute_script,执行js语句,下拉滚动屏幕
js = "var q=document.documentElement.scrollTop={}".format(i * 500)
driver.execute_script(js)
sleep(1)
sleep(2)
#windows消息驱动机制
# //*[@id="wrap"]/div[3]/div/div[1]/div[1]/form/div[2]/p/input
search = driver.find_element(By.XPATH,'//*[@id="wrap"]/div[3]/div/div[1]/div[1]/form/div[2]/p/input')
search.send_keys("数据分析师")
sleep(2)
# //*[@id="wrap"]/div[3]/div/div[1]/div[1]/form/button
submit = driver.find_element(By.XPATH,'//*[@id="wrap"]/div[3]/div/div[1]/div[1]/form/button')
submit.click()
print('搜索指定主题的招聘信息') #"数据分析师"
driver.implicitly_wait(5)
sleep(5)
lis = driver.find_elements(By.CSS_SELECTOR,'.job-card-wrapper')
print('职业信息元素定位,以列表方式返回所有匹配的信息节点')
##遍历每个信息节点,提取需要的信息
for li in lis:
jobname = li.find_element(By.CSS_SELECTOR, '.job-name').text
print(jobname)
info_data = li.find_element(By.CSS_SELECTOR, '.job-card-left').get_attribute('href')
print(info_data)
jobarea = li.find_element(By.CSS_SELECTOR, '.job-area').text
print(jobarea)
slary = li.find_element(By.CSS_SELECTOR, '.salary').text
print(slary)
print('工作名字:' + jobname + ' 工作场所:', jobarea + ' 工资:' + slary + ' 详细链接:' + info_data)
print('\n')
Python自动搜索获取boss直聘信息
最新推荐文章于 2024-10-21 12:30:39 发布