1 import time
2 from selenium.webdriver import Edge
3 from selenium.webdriver.common.by import By
4 from selenium.webdriver.common.keys import Keys
5
6 web = Edge()
7 web.get("https://www.lagou.com")
8
9 # 定位到元素
10 el = web.find_element(By.XPATH, '//*[@id="changeCityBox"]/p[1]/a')
11 el.click() # 点击
12 time.sleep(1)
13 # 定位输入框输入并回车
14 web.find_element(By.XPATH, '//*[@id="search_input"]').send_keys("python", Keys.ENTER)
15 # 数据搜集
16 div_list = web.find_elements(By.XPATH, '//*[@id="jobList"]/div[1]/div')
17 for div in div_list:
18 job_name = div.find_element(By.XPATH, './div[1]/div[1]/div[1]/a').text
19 job_price = div.find_element(By.XPATH, './div[1]/div[1]/div[2]/span').text
20 company_name = div.find_element(By.XPATH, './div[1]/div[2]/div[1]/a').text
21 # 打开另一个窗口
22 web.find_element(By.XPATH, '//*[@id="jobList"]/div[1]/div[1]/div[1]/div[1]/div[1]/a').click()
23 # 视图转到新打开的窗口
24 web.switch_to.window(web.window_handles[-1])
25 job_detail = web.find_element(By.XPATH, '//*[@id="job_detail"]/dd[2]/div').text
26 # 关闭子窗口
27 web.close()
28 # 回到最初窗口
29 web.switch_to.window(web.window_handles[0])
30 print(company_name, job_name, job_price, job_detail)
31 print()