Python-Firefox Selenium';应为浏览器二进制位置,但无法在默认位置';
因此,我试图创建一个使用JavaScript显示部分文本的网站。我发现我应该使用Selenium WebDrivers而不是requests.get(),所以我尝试使用PhantomJS WebDriver,但这不起作用,因为每当我尝试刮取此网站时,它都会成功刮取,但该网站会生成如下HTML:Python-Firefox Selenium';应为浏览器二进制位置,但无法在默认位置';,python,selenium,Python,Selenium,因此,我试图创建一个使用JavaScript显示部分文本的网站。我发现我应该使用Selenium WebDrivers而不是requests.get(),所以我尝试使用PhantomJS WebDriver,但这不起作用,因为每当我尝试刮取此网站时,它都会成功刮取,但该网站会生成如下HTML: <p>Could not find page</p> 它抛出错误“在路径中找不到指定的geckodriver.exe”。因此,我在Firefox()中使用了可执行的_path参数
<p>Could not find page</p>
它抛出错误“在路径中找不到指定的geckodriver.exe”。因此,我在Firefox()中使用了可执行的_path参数,结果如下所示:
browser = webdriver.Firefox(executable_path='path/to/geckodriver/')
当我现在运行它时,它会打开geckodriver.exe(在cmd提示符屏幕上不显示任何内容),并在IDLE中抛出此错误:
WebDriverException: Message: Expected browser binary location, but unable to find binary in default location, no 'moz:firefoxOptions.binary' capability provided, and no binary flag set on the command line.
然而,当我尝试使用ChromDriver时,它运行良好。我不明白为什么这个能用,而其他的不行
问题:
错误消息实际上是关于浏览器二进制文件的,而不是关于
geckodriver
。尝试使用以下方法:
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
binary = FirefoxBinary('path/to/firefox.exe')
driver = webdriver.Firefox(firefox_binary=binary)
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
binary = FirefoxBinary('path/to/firefox.exe')
driver = webdriver.Firefox(firefox_binary=binary)