我现在正在学习Selenium,遇到了一个问题.
我知道Selenium默认支持旧的Firefox版本,没有驱动程序.对于最新版本的Firefox,我们必须下载驱动程序并使用它来定义它System.setProperty.
根据此链接,对于Firefox 45和46,启动驱动程序代码可能如下所示:
WebDriver driver = new FirefoxDriver();
Run Code Online (Sandbox Code Playgroud)
我的Firefox版本为45.5.1.但是上面的代码仍然不起作用.所以根据这个链接,我添加了:
System.setProperty("webdriver.firefox.marionette","C:\\geckodriver.exe");
它奏效了.
然后我意识到我没有安装geckodriver.exe在我的电脑上.要了解它是如何进行的,我已经更改为以下代码:
System.setProperty("webdriver.firefox.marionette","");
Run Code Online (Sandbox Code Playgroud)
它仍然有效.
所以,这是我的第一个问题:发生了什么?我确信geckodriver.exe在我的环境中不存在.如果没有指出位置,那我为什么要设置属性?
另外,我见过的代码如下:
System.setProperty("webdriver.gecko.driver", "/tools/marionette/wires.exe");
Run Code Online (Sandbox Code Playgroud)
我的第二个问题是,是什么样的区别webdriver.gecko.driver 和webdriver.firefox.marionette或wires.exe和geckodriver.exe?
selenium selenium-firefoxdriver selenium-webdriver firefox-marionette geckodriver
我使用.Net在Windows Server 2008R2上使用Firefox 47.0.2运行Selenium 2.x. 我正在运行x64代码.
我正在尝试升级到Selenium 3.40 + geckdriver 0.18.0,但我找不到运行100%的Firefox版本.除非另有说明,否则我将使用x64 en-US版本的Firefox.他们是从这里下载的.
这是我发现的:
是否有硒3.4.0 + geckodriver + Firefox的组合可以在.Net上运行?
我正在尝试在我的 Ubuntu 机器上将 geckodriver 与 firefox 和 selenium 一起使用。这是我到目前为止的代码:
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium.webdriver.firefox.options import Options
from selenium.webdriver.common.keys import Keys
from selenium import webdriver
#path where browser is installed
binary = '/usr/bin/firefox'
options = webdriver.FirefoxOptions()
options.binary = binary
options.add_argument('start-maximized')
options.add_argument('--headless')
cap = DesiredCapabilities().FIREFOX
cap["marionette"] = False
path_to_driver = "/home/andrea/geckodriver"
# run firefox webdriver from executable path
driver = webdriver.Firefox(firefox_options=options, capabilities=cap, executable_path = path_to_driver)
#driver = webdriver.Firefox(capabilities=cap, executable_path = path_to_driver)
driver.get("https://www.amboss.com/us/account/login")
Run Code Online (Sandbox Code Playgroud)
尽管如此,我还是收到以下错误:
selenium.common.exceptions.WebDriverException: Message: Can't load the profile.
Possible firefox …Run Code Online (Sandbox Code Playgroud)