chromedriver可执行文件需要在PATH中



我知道这个问题被问了很多次,我也尝试过所有的答案,但对我来说不起作用。我在一个简单的脚本上尝试了选项和PATH方法来提取网页的标题,它起到了作用。但有了所有这些代码,它给了我所说的错误

import requests
import pandas as pd
from bs4 import BeautifulSoup
from selenium import webdriver
import time
from selenium.webdriver.common.keys import Keys
HEADERS = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36'}
options = webdriver.ChromeOptions() 
options.add_experimental_option("excludeSwitches", ["enable-logging"])
PATH = r"C:UsershpDownloadschromedriverchromedriver.exe"
driver = webdriver.Chrome(options=options , executable_path=PATH)
def get_current_url(url, jobTitle, location):
driver = webdriver.Chrome()
driver.get(url)
time.sleep(3)
driver.find_element_by_xpath('//*[@Id="text-input-what"]').send_keys(jobTitle)
time.sleep(3)
driver.find_element_by_xpath('//*[@Id="text-input-where"]').send_keys(location)
time.sleep(3)
driver.find_element_by_xpath('/html/body/div').click()
time.sleep(3)
try:
driver.find_element_by_xpath('//*[@id="jobsearch"]/button').click()
except:
driver.find_element_by_xpath('//*[@id="whatWhereFormId"]/div[3]/button').click()
current_url = driver.current_url
return current_url
current_url = get_current_url('https://pk.indeed.com/', 'Python Developer', 'Karachi')
print(current_url)

解决方案

使用ChromeDriverManager可以消除所有驱动程序、版本问题

  • 如果您正在使用ChromeDriverManager-Webdriver ManagerPython,您不必显式下载ChromeDriver自动下载。

  • 如果您想使用下载的ChromeDriver,可以避免使用ChromeDriverManager - Webdriver Manager

使用ChromeDriverManager可以使用以下代码块:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
driver.maximize_window()
driver.get("https://www.google.com")

下载特定版本的ChromeDriver,您可以使用以下代码块:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
s = Service('C:/Users/hp/Downloads/chromedriver/chromedriver.exe')
driver = webdriver.Chrome(service=s)

注意:如果您在Linux / MAC O SX系统上,则需要剥离扩展部件,即.exe,因为它仅适用于windows平台。

而不是

PATH = r"C:UsershpDownloadschromedriverchromedriver.exe"
driver = webdriver.Chrome(options=options , executable_path=PATH)

尝试

from selenium.webdriver.chrome.service import Service
webdriver_service = Service('C:UsershpDownloadschromedriverchromedriver.exe')
driver = webdriver.Chrome(service=webdriver_service)

您有两个选项。

首先,您可以将C:UsershpDownloadschromedriverchromedriver.exe添加到系统路径中。请按照下面的指南进行操作。

https://www.architectryan.com/2018/03/17/add-to-the-path-on-windows-10/

第二,当您使用r字符串时,您需要像这样更改斜线。如果你翻转它,它应该可以工作。

PATH = r"C:/Users/hp/Downloads/chromedriver/chromedriver.exe"

相关内容

  • 没有找到相关文章

最新更新