Python Selenium Webdriver无法为浏览器加注星标:权限被拒绝

Tes*_*ssa 12 python firefox selenium selenium-webdriver

我想运行一个带有selenium的firefox webdriver,这样我就可以在网络爬虫中保留一个登录请求.我从这个stackoverflow解决方案链接中得到了这个想法,因为带有请求的登录由于多种原因不起作用.我总是收到错误,因为权限被拒绝,浏览器无法启动.这是我的代码:

from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary

binary=FirefoxBinary("/path/to/firefox")
fp=webdriver.FirefoxProfile("path/to/extra/profile")


url="www.python.org"
driver = webdriver.Firefox(fp,  firefox_binary=binary, executable_path="path/to/geckodriver.exe")
driver.get(url)
Run Code Online (Sandbox Code Playgroud)

错误如下:

selenium.common.exceptions.WebDriverException: Message: Failed to start browser:
permission denied
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?我一直在网上搜索多年但找不到任何东西......谢谢!

yye*_*yeo 11

我正在尝试让Selenium 3为Firefox工作并且一个接一个地运行错误消息.下载geckodriver并将其添加到系统路径后,最后一个错误是您看到的同一权限被拒绝的问题.经过相当多的搜索并拼凑在一起后,最终工作的是将firefox.exe添加到路径中.

这是完整的脚本:

from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary

binary = FirefoxBinary(r'C:\Program Files (x86)\Mozilla Firefox\firefox.exe')
driver = webdriver.Firefox(firefox_binary=binary)

driver.get('http://www.google.com')
Run Code Online (Sandbox Code Playgroud)

希望这也适合你.

  • 谢谢这个帮助.我仍然收到错误"无法启动浏览器权限,未找到.Webdriver firefox`.为了解决这个问题,我不得不更新firefox.然后我在握手中得到了错误`WebDriverException:Message:Missing'marionetteProtocol'字段.为了解决这个问题,我将"f"更改为"firefox.exe"中的大写"F",行中的"binary = FirefoxBinary(r'C:\ Program Files(x86)\ Mozilla Firefox\firefox.exe") (2认同)