AttributeError: 'WebDriver'对象没有属性find_ elements by_ CSS selector'不理解,怎么更改可以正常运行求
import time
from selenium import webdriver
from selenium. webdriver. common.by import By
from selenium.webdriver.chrome.options import Options
url = r"https://www.zhipin.com/web/geek/job?query=%E5%BB%BA%E7%AD%91%E6%96%BD%E5%B7%A5%E7%8E%B0%E5%9C%BA%E07%AE%A1%E7%90%86&city=100010000"
user_agent = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36'
chrome_options = Options()
chrome_options.add_argument("--disable-notifications") # 取消通知栏
chrome_options.add_argument("--headless") # 取消通知栏
chrome_options.add_argument('user-agent={}'.format(user_agent))
driver = webdriver.Chrome(executable_path='../chromedriver/chromedriver.exe', options=chrome_options)
driver.get(url=url)
time.sleep(5)
list_value = driver.find_elements(By.CSS_SELECTOR, '.job-card-wrapper')
for li in list_value:
title = li.find_element(By.CSS_SELECTOR, '.job-name')
print(title.text)
改版了,你的版本是4.0的吧
webdriver升级后取消了所有find_elements_by_** 以及find_element_by_**
所以你的driver.find_elements_by_css_selector会报AttributeError,因为已经没有了该方法
正确写法应该是:
from selenium.webdriver.common.by import By
lis = driver.find_elements(By.CSS_SELECTOR, '.job-card-wrapper+.jqb-card-wrapper')
for li in L1s:
title = li.find_element(By.CSS_SELECTOR, '.job-card-wrapper .job-card-Left job-title .job-name')
print(title)
您的采纳就是对我最大的动力,谢谢!!!