我需要在Windows计算机上使用最新版本的firefox。因此,不想使用默认的ghecko驱动程序。这是我多近的距离。
import time
from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
binary = webdriver.Firefox(executable_path= r'C:\Program Files\Mozilla Firefox\firefox.exe')
caps = DesiredCapabilities.FIREFOX.copy()
caps['marionette'] = True
driver = webdriver.Firefox(firefox_binary=binary,capabilities=caps, executable_path=(os.path.abspath("geckodriver.exe")))
time.sleep(5)
driver.get("http://www.google.com")
最新的浏览器会在默认页面上启动,但是driver.get()
在退出WebDriverException时不起作用:消息:服务C:\ Program Files \ Mozilla Firefox \ firefox.exe意外退出。状态代码为:1.我该如何解决。
答案 0 :(得分:0)
您需要在这里注意几件事:
function showHideNav() {
if ($(window).scrollTop() > 50) {
// Show white nav
$("nav").addClass("white-nav-top");
// Show dark logo
$(".navbar-brand img").attr("src", "images/logo/logo.svg");
// Show back to top button
$("#back-to-top").fadeIn();
用于传递 geckodriver 二进制文件的绝对路径。executable_path
默认情况下,您不必明确提及。true
会降低测试执行性能,而改用WebDriverWait。您的有效代码块将是:
time.sleep()
控制台输出:
from selenium import webdriver
from selenium.webdriver.firefox.options import Options
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
binary = r'C:\Program Files\Mozilla Firefox\firefox.exe'
options = Options()
options.binary = binary
cap = DesiredCapabilities().FIREFOX.copy()
cap["marionette"] = True #optional
driver = webdriver.Firefox(firefox_options=options, capabilities=cap, executable_path="C:\\Utility\\BrowserDrivers\\geckodriver.exe")
driver.get("http://google.com/")
print ("Firefox Initialized")
driver.quit()