设置 Selenium Firefox webdriver 的选项参数

问题描述 投票:0回答:1

我正在使用 Selenium 的 webdriver 和 GeckoDriverManager 打开网站并在 Firefox 中截取屏幕截图。那部分工作正常。我想使用 selenium.webdriver.set_preference() 指定保存此屏幕截图的位置来指定下载路径并将其保存在选项变量下。如果我使用 firefox_driver=webdriver.Firefox(service=service, options=options) 网站将不再启动。这是我用来设置选项首选项的代码:https://stackoverflow.com/a/69974916

有人知道问题可能出在哪里吗?

def load_driver():
    service=Service(GeckoDriverManager().install())

    options = Options()
    options.set_preference("browser.helperApps.alwaysAsk.force", False)
    options.set_preference("browser.download.manager.showWhenStarting", False)
    options.set_preference("browser.helperApps.neverAsk.openFile", "image/png")
    options.set_preference("browser.helperApps.neverAsk.saveToDisk", "image/png")
    options.set_preference("browser.download.folderList", 1)

    firefox_driver = webdriver.Firefox(service=service) #stops working if I add options=options parameter here

def getscreenshot():
    driver = load_driver()
    driver.get(website)
    sleep(3)
    driver.get_screenshot_as_file("screenshot.png")
    driver.quit()
    print("end...")
python selenium selenium-webdriver firefox geckodriver
1个回答
0
投票

您可以将文件的绝对路径或相对路径放入 driver.get_screenshot_as_file() 中。下面的代码会将屏幕截图保存在/image/中。

def getscreenshot():
    driver = load_driver()
    driver.get(website)
    sleep(3)
    driver.get_screenshot_as_file("./image/screenshot.png")
    driver.quit()
    print("end...")
© www.soinside.com 2019 - 2024. All rights reserved.