如何在没有chromedriver selenium python的情况下完全使用普通chrome不重复
Posted
技术标签:
【中文标题】如何在没有chromedriver selenium python的情况下完全使用普通chrome不重复【英文标题】:How to use normal chrome completely without chromedriver selenium python not duplicate 【发布时间】:2022-01-20 21:16:54 【问题描述】:如何在没有chromedriver selenium python 不重复的情况下完全使用普通chrome。 我正在使用 python 3.8.8,os 是带有 pycharm 的 windows 7 Ultimate IDE 和 chrome 版本大约是 96。我的问题是,每当我使用我的 python 脚本抓取一个网站时,它都会使用 chromedriver,当我指定下面给出的内容时:
options = Options ()
options.add_argument(r"user-data-dir=my chrome path which is not Executable instead the user data")
#this works but when opening chrome it shows "browser is controlled by automated software" and changing it to normal chrome. Exe won't work
当然,它使用带有我的凭据的普通 chrome,但它仍然需要 chromedriver 才能工作,当我删除 chromedriver 时,它会引发错误,当我进入名为 site.py(或 sites.py)的文件中的 selenium 源代码时我改变了变量self。可执行到 chrome.exe 路径并且它工作并且它不会显示消息浏览器由自动化软件控制但它不会做任何事情,它只是卡在那里,我想要做的是在我的电脑中使用 chrome 作为浏览器在没有 chromedriver 的情况下进行抓取是否可能?如果是,请告诉我该怎么做,您可以要求进一步说明和详细信息,并提前致谢
【问题讨论】:
【参考方案1】:默认情况下,selenium 被检测为自动化软件并被大多数网站标记,并且无法删除该标记。但是,可以安装可以删除标志的外部库。
有here 选项可以尝试绕过默认标志并隐藏浏览器是自动化的事实。
编辑
我进一步理解了这个问题,并且看到您想要一个更便携的 chrome 选项。 Chrome 驱动程序是一个由 selenium 控制的非常特殊的程序,必须使用。没有替代品。您可以使用 Firefox 驱动程序或 Internet Explorer,但必须使用 Web 驱动程序(因此名称驱动程序用于驱动主浏览器)。当您指定 Chrome 二进制文件的目录时,您并没有删除 chromedriver 的中间人,只是指定了 chrome 驱动程序需要查找的位置!
【讨论】:
请注意***.com/users/17630235/keegan-m,我正在使用python并且我不知道其他语言,并告诉我应该如何在没有chromedriver的情况下使用普通chrome 我给出的响应是在python的假设下。 您是否尝试在没有任何特殊驱动程序或代码的情况下使用 chrome?我不明白 是的我想使用我不知道是否有可能我有 chromedriver 但如果我想制作一个 pip 模块我更喜欢它不依赖大多数人不会下载的应用程序chromdriver 所以这就是为什么我想使用普通 chrome 而不是 chrome 驱动程序而不依赖 chrome 驱动程序 另外,我没有深入查看你为那个伙伴提供的链接【参考方案2】:使用Selenium,如果没有ChromeDriver,您将无法启动/生成新的浏览上下文,即Chrome 浏览器 会话强>.
零件和碎片
作为最低要求,WebDriver 即ChromeDriver 通过驱动程序与浏览器通信,通信有两种方式:
WebDriver 通过驱动程序将命令传递给浏览器 通过相同的路径接收信息。因此使用ChromeDriver 是强制性要求。
【讨论】:
以上是关于如何在没有chromedriver selenium python的情况下完全使用普通chrome不重复的主要内容,如果未能解决你的问题,请参考以下文章
如何在没有chromedriver selenium python的情况下完全使用普通chrome不重复
如何在没有 ChromeDriver.exe 的情况下在 Maven 中使用 selenium-chrome-driver