Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python-Firefox Selenium';应为浏览器二进制位置,但无法在默认位置';_Python_Selenium - Fatal编程技术网

Python-Firefox Selenium';应为浏览器二进制位置,但无法在默认位置';

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参数

因此,我试图创建一个使用JavaScript显示部分文本的网站。我发现我应该使用Selenium WebDrivers而不是requests.get(),所以我尝试使用PhantomJS WebDriver,但这不起作用,因为每当我尝试刮取此网站时,它都会成功刮取,但该网站会生成如下HTML:

<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不起作用
  • ChromeDriver为什么工作

  • 错误消息实际上是关于浏览器二进制文件的,而不是关于
    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)