python爬虫基础问题

为啥会这样报错呀?无法正常打开网页谢谢!

img

img


from selenium import webdriver
browser = webdriver.Chrome()
browser.get('https://www.baidu.com/')
InvalidArgumentException                  Traceback (most recent call last)
Cell In[5], line 3
      1 from selenium import webdriver
      2 browser = webdriver.Chrome()
----> 3 browser.get('https://www.baidu.com/')

File D:\anaconda\Lib\site-packages\selenium\webdriver\remote\webdriver.py:353, in WebDriver.get(self, url)
    351 def get(self, url: str) -> None:
    352     """Loads a web page in the current browser session."""
--> 353     self.execute(Command.GET, {"url": url})

File D:\anaconda\Lib\site-packages\selenium\webdriver\remote\webdriver.py:344, in WebDriver.execute(self, driver_command, params)
    342 response = self.command_executor.execute(driver_command, params)
    343 if response:
--> 344     self.error_handler.check_response(response)
    345     response["value"] = self._unwrap_value(response.get("value", None))
    346     return response

File D:\anaconda\Lib\site-packages\selenium\webdriver\remote\errorhandler.py:229, in ErrorHandler.check_response(self, response)
    227         alert_text = value["alert"].get("text")
    228     raise exception_class(message, screen, stacktrace, alert_text)  # type: ignore[call-arg]  # mypy is not smart enough here
--> 229 raise exception_class(message, screen, stacktrace)

InvalidArgumentException: Message: invalid argument
  (Session info: chrome=107.0.5304.122)
Stacktrace:
Backtrace:
    Ordinal0 [0x00798CE3+2067683]
    Ordinal0 [0x0072CBC1+1625025]
    Ordinal0 [0x0062B690+571024]
    Ordinal0 [0x0061E90E+518414]
    Ordinal0 [0x0061D2B3+512691]
    Ordinal0 [0x0061D5BD+513469]
    Ordinal0 [0x0062D0DE+577758]
    Ordinal0 [0x0068BCAD+965805]
    Ordinal0 [0x0067733C+881468]
    Ordinal0 [0x0068B576+963958]
    Ordinal0 [0x00677156+880982]
    Ordinal0 [0x0064FF1D+720669]
    Ordinal0 [0x00650F5F+724831]
    GetHandleVerifier [0x00A4F162+2771330]
    GetHandleVerifier [0x00A41145+2713957]
    GetHandleVerifier [0x0082CC0A+533546]
    GetHandleVerifier [0x0082B970+528784]
    Ordinal0 [0x00734F4C+1658700]
    Ordinal0 [0x007398B8+1677496]
    Ordinal0 [0x007399A5+1677733]
    Ordinal0 [0x00744CC4+1723588]
    BaseThreadInitThunk [0x766A7BA9+25]
    RtlInitializeExceptionChain [0x7770B79B+107]
    RtlClearBits [0x7770B71F+191]


引用 皆我百晓生 小程序回复内容作答:
这个报错是无效参数的错误,发生在使用 Selenium 的 webdriver 打开网页时。根据给出的代码和报错信息,问题可能出现在浏览器驱动的路径设置上。请检查以下几点:

  1. 确保已经正确安装了 Chrome 浏览器以及 Chrome 驱动。
  2. 确保 Chrome 驱动的路径设置正确,且与你的操作系统相匹配。可以使用绝对路径或相对路径来设置驱动路径。
  3. 确保你使用的 Chrome 驱动与 Chrome 浏览器的版本相匹配。可以尝试更新 Chrome 驱动或降低 Chrome 浏览器的版本。
  4. 检查代码中的网址是否正确,确保网址的格式正确,不包含任何错误的字符或空格。

如果仍然无法解决问题,请提供更多的代码和报错信息,以便更好地帮助你排查错误。

【以下回答由 GPT 生成】

这个问题是因为你的Selenium Chrome驱动与你的Chrome浏览器版本不兼容导致的。

解决这个问题的步骤如下:

  1. 确保你的Chrome浏览器是最新版本。可以在Chrome浏览器的设置中找到“关于Chrome”,点击检查更新,更新到最新版本。
  2. 查看你使用的Selenium Chrome驱动的版本。可以通过以下代码获取驱动版本号:
from selenium import webdriver
print(webdriver.__version__)
  1. 在Selenium官方网站上找到与你的Chrome浏览器版本兼容的驱动版本。驱动版本号与Chrome浏览器发布版本号相关联,并且在官方文档中有明确的对应关系。确保下载与你的Chrome浏览器版本匹配的驱动版本。
  2. 将下载的驱动解压,并将解压后的驱动文件路径添加到你的代码中,指定驱动的路径,如下所示:
from selenium import webdriver

# 指定驱动路径
driver_path = "/path/to/chromedriver"

# 创建一个WebDriver实例
browser = webdriver.Chrome(executable_path=driver_path)

# 打开网页
browser.get('https://www.baidu.com/')

请将/path/to/chromedriver替换为你实际驱动的路径。

如果你无法找到与你的Chrome浏览器版本兼容的驱动,或者驱动仍然无法正常工作,请参考Selenium和Chrome驱动的官方文档,以获取更多有关解决兼容性问题的信息。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^