- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我在一台计算机上使用 selenium 编写了一个程序并且有效,现在在另一台计算机上使用它我得到这个错误:
selenium.common.exceptions.WebDriverException: Message: Can not connect to the Service chromedriver
现在同样的问题在:
Selenium python: Can not connect to the Service %s" % self.path
Selenium python: Can not connect to the Service %s" % self.path
Selenium and Python3 ChromeDriver raises Message: Can not connect to the Service chromedriver
但是提到的解决方案没有用。
我使用的是 chrome 版本 79 并安装了 chromedriver 79,我测试了在命令行中编写 chromedriver 并且可以正常工作,这意味着路径配置正确,我确保 127.0.0.1 localhost 也在 etc/hosts 中
下面是我的代码,可以在我的电脑上运行(所以我怀疑它是代码的问题):
chrome_options = Options()
chrome_options.add_argument("--headless")
with webdriver.Chrome(chrome_options=chrome_options) as driver:
driver.set_window_size(800, 460) # takes two arguments, width and height of the browser and it has to be called before using get()
driver.execute_script("document.body.style.zoom='150%'")
driver.get("file:\\"+url) # takes one argument, which is the url of the website you want to open
driver.find_element_by_tag_name('body').screenshot(output) # avoids scrollbar
上一题我也试过这样修改:
chrome_options = Options()
chrome_options.add_argument("--headless")
with webdriver.Chrome("C:\\chromedriver.exe",chrome_options=chrome_options) as driver:
driver.set_window_size(800, 460) # takes two arguments, width and height of the browser and it has to be called before using get()
driver.execute_script("document.body.style.zoom='150%'")
driver.get("file:\\"+url) # takes one argument, which is the url of the website you want to open
driver.find_element_by_tag_name('body').screenshot(output) # avoids scrollbar
这反而会给我这个几乎相同的错误信息:
selenium.common.exceptions.WebDriverException: Message: Can not connect to the Service C:\chromedriver.exe
我不确定问题出在哪里。
顺便说一下,我正在使用 windows。
编辑:我尝试过但没有奏效的事情:
1- 以管理员和正常方式运行所有内容
2- 重新安装 chrome
3- 使用 beta-chroma 80 和 webdriver 80
4- 使用普通的 chrome 79 和 webdriver 79
5- 将脚本和驱动程序放在同一个目录中(同时使用正确路径)
6- 拥有外部路径并根据需要进行设置
7- 在 PATH 文件夹中使用它。
8- 添加“127.0.0.1 localhost”到 etc/hosts
9- 运行服务测试
我已确保在每次测试中一切都在正确的位置,我在每次新测试之前都重新启动,他们总是给我同样的错误,如果我的路径不正确也会发生这种情况,但是一旦我运行了服务的代码,它给了我一个不同的错误,因为我在 C:/中有我的 webdriver,这需要管理员权限,但是使用正确的权限再次运行测试会返回相同的错误
更新 该问题并非 chrome 驱动程序独有。即使遵循 Firefox 或边缘驱动程序的设置说明,也会遇到相同的问题。这让我怀疑连接面临一些问题。我已尝试运行 Mozilla 为设置提供的测试代码,但没有成功。
不确定这是否有很大帮助或根本没有帮助。
最佳答案
这个错误信息...
selenium.common.exceptions.WebDriverException: Message: Can not connect to the Service chromedriver
...暗示 ChromeDriver 无法启动/生成新的浏览上下文,即 Chrome 浏览器 session 。
您需要处理几件事:
确保您已从 download location 下载了格式正确的 ChromeDriver 二进制文件与您的底层操作系统有关的:
确保 /etc/hosts
文件包含以下条目:
127.0.0.1 localhost
确保 ChromeDriver 二进制文件对非 root 用户具有可执行权限。
确保您已通过参数 executable_path
传递了 ChromeDriver 二进制文件的正确绝对路径,如下所示:
with webdriver.Chrome(executable_path=r'C:\path\to\chromedriver.exe', chrome_options=chrome_options) as driver:
因此您的有效代码块将是:
options = Options()
options.add_argument("--headless")
options.add_argument('--no-sandbox') # Bypass OS security model
options.add_argument('--disable-gpu') # applicable to windows os only
options.add_argument("--disable-dev-shm-usage") # overcome limited resource problems
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
with webdriver.Chrome(executable_path=r'C:\path\to\chromedriver.exe', options=options) as driver:
driver.set_window_size(800, 460) # takes two arguments, width and height of the browser and it has to be called before
driver.execute_script("document.body.style.zoom='150%'")
driver.get("file:\\"+url) # takes one argument, which is the url of the website you want to open
driver.find_element_by_tag_name('body').screenshot(output) # avoids scrollbar
最后,为避免您使用的二进制文件版本之间的不兼容,请确保:
@Test
。您可以在以下位置找到一些引用讨论:
关于python - selenium.common.exceptions.WebDriverException : Message: Can not connect to the Service error using ChromeDriver Chrome through Selenium Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59532730/
使用 caret::train() 运行逻辑回归模型时出现问题。LR = caret::train(Satisfaction ~., data= log_train, method = "glm",
我正在尝试将nginx容器作为我所有网站和Web服务的主要入口点。我设法将portainer作为容器运行,并且可以从互联网上访问它。现在,我正在尝试访问由另一个Nginx容器托管的静态网站,但这样做失
我有一个在 Windows XP SP3 x86 上运行的 Visual Studio 2008 C# .NET 3.5 应用程序。在我的应用程序中,我有一个事件处理程序 OnSendTask 可以同
我在 Eclipse 中创建了作为独立程序执行的此类,它可以毫无问题地连接所有 http URL(例如:http://stackoverflow.com),但是当我尝试连接到 https(例如 htt
我在我的 nginx 错误日志中收到大量以下错误: connect() failed (111: Connection refused) while connecting to upstream 我的
我正在尝试将新的 log4j2 与 Socket Appender 一起使用,但我有点不走运。这是我的 XML 配置文件:
我目前正在尝试寻找 Android 应用程序后端的替代方案。目前,我使用 php servlet 来查询 Mysql 数据库。数据库(Mysql)托管在我大学的计算机上,因此我无法更改任何配置,因为我
类MapperExtension有一些方法,before_insert, before_update, ...都有一个参数connection. def before_insert(self, map
嗨,我正在尝试更改位于连接库 (v 5.5) 中的文档的文档所有者,我仍在等待 IBM 的回复,但对我来说可能需要太长时间,这就是我尝试的原因逆向工程。 我尝试使用标准编辑器 POST 请求将编辑器更
我在 nginx( http://52.xx.xx.xx/ )上访问我的 IP 时遇到 502 网关错误,日志只是这样说: 2015/09/18 13:03:37 [error] 32636#0: *
我要实现 Connected-Component Labeling但我不确定我应该以 4-connected 还是 8-connected 的方式来做。我已经阅读了大约 3 种 Material ,但
我在Resources ->JMS ->Connection Factories下有两个连接工厂。 1) 连接工厂 2)集成连接工厂 我想修改两个连接工厂下连接池的最大连接数。资源 ->JMS ->连
我在将 mongoengine 合并到我的 django 应用程序时遇到问题。以下是我收到的错误: Traceback (most recent call last): File "/home/d
上下文 我正在关注 tutorial on writing a TCP server last week in Real World Haskell .一切顺利,我的最终版本可以正常工作,并且能够在
我在访问我的域时遇到了这个问题:我看到了我的默认 http500 错误 django 模板正在显示。 我有 gunicorn 设置: command = '/usr/local/bin/gunicor
我更换了电脑,并重新安装了所有版本:tomcat 8 和 6、netbeans 8、jdk 1.7、hibernate 4.3.4,但是当我运行 Web 应用程序时,出现此错误。过去使用我的旧电脑时,
您好,我是这个项目的新手,我在 CentOS7 ec2 实例上托管它时遇到问题。当我访问我的域时出现此错误: 2017/02/17 05:53:35 [error] 27#27: *20 connec
在开始之前,我已经查看了所有我能找到的类似问题,但没有找到解决我的问题的方法。 我正在运行 2 个 docker 容器,1 个用于 nginx,1 个用于 nodejs api。我正在使用 nginx
使用 debian 包将 kaa -iot 平台配置为单节点时。我收到以下错误。 himanshu@himpc:~/kaa/deb$ sudo dpkg -i kaa-node-0.10.0.deb
我是我公司开发团队的成员,担任管理员角色。我可以通过 https://developer.apple.com/ 访问团队的成员(member)中心 但是,当我尝试在 https://itunescon
我是一名优秀的程序员,十分优秀!