tengke 发表于 2024-4-7 18:15:21

py报错 但是对应的浏览器版本和 驱动都是正确的

本帖最后由 tengke 于 2024-4-8 09:37 编辑

from selenium import webdriver

# 指定 ChromeDriver 的路径
chrome_driver_path = r'C:\Users\huawei\Desktop\chromedriver-win64\chromedriver.exe'# 将路径替换为你实际的 ChromeDriver 路径

# 指定谷歌浏览器的路径
chrome_binary_path = r'C:\Users\huawei\Desktop\chrome-win64\chrome.exe'# 将路径替换为你实际的谷歌浏览器路径

# 创建 ChromeDriver 实例并指定谷歌浏览器的路径
chrome_options = webdriver.ChromeOptions()
chrome_options.binary_location = chrome_binary_path

# 使用指定的 ChromeDriver 路径创建 Chrome 实例
driver = webdriver.Chrome(executable_path=chrome_driver_path, options=chrome_options)

# 打开百度网站
driver.get("https://www.baidu.com")


Traceback (most recent call last):
File "D:\软件\djangoProject\app\zspc.py", line 14, in <module>
    driver = webdriver.Chrome(executable_path=chrome_driver_path, options=chrome_options)
TypeError: __init__() got an unexpected keyword argument 'executable_path'






https://googlechromelabs.github.io/chrome-for-testing/ 都是123.0.6312.105

FishC 发表于 2024-4-7 18:15:32

这个报错是因为你的 ChromeDriver 版本与你的 Selenium 版本不匹配造成的。可以尝试以下解决方案:

1. 更新 Selenium 版本:使用命令 `pip install --upgrade selenium` 来更新你的 Selenium 库,确保使用的是最新版本。

2. 下载匹配的 ChromeDriver 版本:根据你使用的 Chrome 浏览器版本,下载对应版本的 ChromeDriver。可以在 https://sites.google.com/a/chromium.org/chromedriver/downloads 找到适合你的 Chrome 版本的 ChromeDriver。

3. 检查 ChromeDriver 和 Chrome 浏览器路径是否正确:确保你的 `chrome_driver_path` 和 `chrome_binary_path` 变量中的路径是正确的。可以打开文件资源管理器,确认文件路径是否存在。

如果以上操作都没有解决问题,可以尝试使用无界面模式来运行 Chrome 浏览器(Headless Mode)。修改代码如下:

chrome_options.add_argument('--headless')

然后再执行程序,看看能否成功。希望这些解决方案能够帮助到你!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

tengke 发表于 2024-4-8 09:36:23

是的版本都是一致的    对应的Selenium 版本是4.19最新的版本
谷歌浏览器和谷歌驱动地址都没有问题

FishC 发表于 2024-4-8 09:36:34

tengke 发表于 2024-04-08 09:36
是的版本都是一致的    对应的Selenium 版本是4.19最 ...

如果你已经确认浏览器版本和驱动版本都是一致的,而且地址也正确,但仍然出现报错,那么可能是因为在使用 `webdriver.Chrome()` 的时候传递了不支持的参数。这个报错信息说到了一个意外的关键字参数 `executable_path`。这个参数在 Selenium 4 中已经被移除了。

解决这个问题的方法是,删除 `options` 参数中的 `executable_path` 部分,只保留 `chrome_options` 部分。下面是修改后的代码:

from selenium import webdriver

# 指定 ChromeDriver 的路径
chrome_driver_path = r'C:\Users\huawei\Desktop\chromedriver-win64\chromedriver.exe'# 将路径替换为你实际的 ChromeDriver 路径

# 指定谷歌浏览器的路径
chrome_binary_path = r'C:\Users\huawei\Desktop\chrome-win64\chrome.exe'# 将路径替换为你实际的谷歌浏览器路径

# 创建 ChromeDriver 实例并指定谷歌浏览器的路径
chrome_options = webdriver.ChromeOptions()
chrome_options.binary_location = chrome_binary_path

# 使用指定的 ChromeDriver 路径创建 Chrome 实例
driver = webdriver.Chrome(options=chrome_options)

请注意,这里不再需要 `executable_path` 参数,只需将 `chrome_options` 作为 `options` 参数传递给 `webdriver.Chrome()`。希望这次修改能够解决你遇到的问题!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

tengke 发表于 2024-4-8 09:38:38

没有报错谷歌浏览器也没有打开

FishC 发表于 2024-4-8 09:38:49

tengke 发表于 2024-04-08 09:38
没有报错谷歌浏览器也没有打开

如果没有报错但谷歌浏览器没有打开,可能是因为你的代码缺少了 `driver.quit()` 方法,导致浏览器实例没有被正确关闭。请在你的代码最后添加 `driver.quit()` 来关闭浏览器。下面是修改后的代码示例:from selenium import webdriver# 指定 ChromeDriver 的路径chrome_driver_path = r'C:\Users\huawei\Desktop\chromedriver-win64\chromedriver.exe'# 将路径替换为你实际的 ChromeDriver 路径# 指定谷歌浏览器的路径chrome_binary_path = r'C:\Users\huawei\Desktop\chrome-win64\chrome.exe'# 将路径替换为你实际的谷歌浏览器路径# 创建 ChromeDriver 实例并指定谷歌浏览器的路径chrome_options = webdriver.ChromeOptions()chrome_options.binary_location = chrome_binary_path# 使用指定的 ChromeDriver 路径创建 Chrome 实例driver = webdriver.Chrome(options=chrome_options)# 打开百度网站driver.get("https://www.baidu.com")# 关闭浏览器driver.quit()请注意,`driver.quit()` 方法会关闭浏览器窗口并退出 WebDriver 进程。这样就可以确保浏览器被正确关闭了。希望这次修改能够解决你遇到的问题,让谷歌浏览器能够成功打开!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

tengke 发表于 2024-4-8 09:40:27

from selenium import webdriver

# 指定 ChromeDriver 的路径
chrome_driver_path = r'C:\Users\huawei\Desktop\chromedriver-win64\chromedriver.exe'# 将路径替换为你实际的 ChromeDriver 路径

# 指定谷歌浏览器的路径
chrome_binary_path = r'C:\Users\huawei\Desktop\chrome-win64\chrome.exe'# 将路径替换为你实际的谷歌浏览器路径

# 创建 ChromeDriver 实例并指定谷歌浏览器的路径
chrome_options = webdriver.ChromeOptions()
chrome_options.binary_location = chrome_binary_path

# 使用指定的 ChromeDriver 路径创建 Chrome 实例
driver = webdriver.Chrome(options=chrome_options)
# 打开百度网站
driver.get("https://www.baidu.com")
# 关闭浏览器
driver.quit()
还是一样 浏览器没有打开

FishC 发表于 2024-4-8 09:40:42

tengke 发表于 2024-04-08 09:40
from selenium import webdriver

# 指定 ChromeDri ...

如果代码没有报错但浏览器没有打开,可能是因为你的ChromeDriver版本与谷歌浏览器版本不匹配。请确保下载的ChromeDriver版本与你的谷歌浏览器版本完全匹配。

另外,你也可以尝试添加一些选项来查看是否有错误提示信息。修改代码如下:

from selenium import webdriver

# 指定 ChromeDriver 的路径
chrome_driver_path = r'C:\Users\huawei\Desktop\chromedriver-win64\chromedriver.exe'# 将路径替换为你实际的 ChromeDriver 路径

# 指定谷歌浏览器的路径
chrome_binary_path = r'C:\Users\huawei\Desktop\chrome-win64\chrome.exe'# 将路径替换为你实际的谷歌浏览器路径

# 创建 ChromeDriver 实例并指定谷歌浏览器的路径
chrome_options = webdriver.ChromeOptions()
chrome_options.binary_location = chrome_binary_path

# 添加一些选项,以便查看错误信息
chrome_options.add_argument('--log-level=DEBUG')
chrome_options.add_argument('--verbose')

# 使用指定的 ChromeDriver 路径创建 Chrome 实例
driver = webdriver.Chrome(executable_path=chrome_driver_path, options=chrome_options)

# 打开百度网站
driver.get("https://www.baidu.com")

# 关闭浏览器
driver.quit()

这样做将会给出更详细的日志信息,帮助你找到问题所在。如果还是无法解决问题,请提供完整的错误提示信息,这样我可以更好地帮助你找到解决方案。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

tengke 发表于 2024-4-8 09:42:17

Traceback (most recent call last):
File "D:\软件\djangoProject\app\zspc.py", line 18, in <module>
    driver = webdriver.Chrome(executable_path=chrome_driver_path, options=chrome_options)
TypeError: __init__() got an unexpected keyword argument 'executable_path'

FishC 发表于 2024-4-8 09:42:35

tengke 发表于 2024-04-08 09:42
Traceback (most recent call last):
File "D:\软 ...

这个报错提示意味着你使用的 Selenium 版本不支持 `executable_path` 参数。根据你之前提供的信息,你正在使用 Selenium 4.19 版本,而在该版本中已经不再支持 `executable_path` 参数。

要解决这个问题,请按照以下步骤进行操作:

1. 确保你已经正确安装了最新版本的 Selenium。可以使用 `pip show selenium` 命令检查当前安装的 Selenium 版本,如果不是最新版本,可以使用 `pip install --upgrade selenium` 命令来进行升级。

2. 确认你的 ChromeDriver 和 Chrome 浏览器版本是否匹配。请确保你下载的 ChromeDriver 版本与你使用的 Chrome 浏览器版本完全匹配。你可以在 Chrome 浏览器的设置中找到具体的版本号。

3. 如果你的 ChromeDriver 和 Chrome 浏览器版本匹配但仍然无法打开浏览器,尝试将 `options` 参数更名为 `chrome_options`。修改代码如下:

from selenium import webdriver

# 指定 ChromeDriver 的路径
chrome_driver_path = r'C:\Users\huawei\Desktop\chromedriver-win64\chromedriver.exe'# 将路径替换为你实际的 ChromeDriver 路径

# 指定谷歌浏览器的路径
chrome_binary_path = r'C:\Users\huawei\Desktop\chrome-win64\chrome.exe'# 将路径替换为你实际的谷歌浏览器路径

# 创建 ChromeDriver 实例并指定谷歌浏览器的路径
chrome_options = webdriver.ChromeOptions()
chrome_options.binary_location = chrome_binary_path

# 使用指定的 ChromeDriver 路径创建 Chrome 实例
driver = webdriver.Chrome(executable_path=chrome_driver_path, chrome_options=chrome_options)

# 打开百度网站
driver.get("https://www.baidu.com")

# 关闭浏览器
driver.quit()

希望这次修改能够解决你遇到的问题!如果还有其他疑问,请随时提问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

tengke 发表于 2024-4-8 09:43:15

Traceback (most recent call last):
File "D:\软件\djangoProject\app\zspc.py", line 14, in <module>
    driver = webdriver.Chrome(executable_path=chrome_driver_path, chrome_options=chrome_options)
TypeError: __init__() got an unexpected keyword argument 'executable_path'

FishC 发表于 2024-4-8 09:43:26

tengke 发表于 2024-04-08 09:43
Traceback (most recent call last):
File "D:\软 ...

非常抱歉,这是我之前的错误。根据你提供的错误信息,确实是因为 `executable_path` 和 `chrome_options` 参数不再被支持。

在 Selenium 4 中,参数已经发生了一些变化。现在,你可以使用 `webdriver.ChromeOptions()` 来创建选项,然后使用 `add_argument()` 方法添加选项。以下是修改后的代码示例:

from selenium import webdriver

# 指定 ChromeDriver 的路径
chrome_driver_path = r'C:\Users\huawei\Desktop\chromedriver-win64\chromedriver.exe'# 将路径替换为你实际的 ChromeDriver 路径

# 创建 ChromeDriver 选项
chrome_options = webdriver.ChromeOptions()

# 指定谷歌浏览器的路径
chrome_binary_path = r'C:\Users\huawei\Desktop\chrome-win64\chrome.exe'# 将路径替换为你实际的谷歌浏览器路径
chrome_options.binary_location = chrome_binary_path

# 添加其他选项(如果需要)
chrome_options.add_argument('--headless')# 无界面模式

# 使用指定的 ChromeDriver 路径和选项创建 Chrome 实例
driver = webdriver.Chrome(executable_path=chrome_driver_path, options=chrome_options)

# 打开百度网站
driver.get("https://www.baidu.com")

# 关闭浏览器
driver.quit()

请注意,我们通过 `chrome_options.add_argument()` 方法添加了一个选项 `--headless`,以便在无界面模式下运行浏览器。你可以根据需要添加其他选项。

希望这次修改能够解决你遇到的问题!如果还有其他疑问,请随时提问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: py报错 但是对应的浏览器版本和 驱动都是正确的