Python Selenium 4 - Firefox FirefoxBinary () устарел - PullRequest
0 голосов
/ 09 октября 2019

Я обновился до Selenium 4

new_binary_path = FirefoxBinary('path_to_binary')
selenium.webdriver.Firefox(executable_path=path, options=ops, firefox_binary=new_binary_path)

или

options.add_argument("--setBinary(path_to_binary)")
selenium.webdriver.Firefox(executable_path=path, options=ops)

Вернуть это сообщение об ошибке

DeprecationWarning: executable_path has been deprecated, please pass in a Service object

Документация

https://github.com/SeleniumHQ/selenium/blob/master/javascript/node/selenium-webdriver/CHANGES.md

Говорит

Удален firefox. Бинарный класс. Пользовательские двоичные файлы по-прежнему могут быть выбраны с помощью firefox.Options # setBinary (). Аналогично, пользовательские двоичные аргументы могут быть указаны с помощью firefox.Options # addArguments ()

Кто-нибудь знает, как реализовать эти изменения? Я не знаю, что означает хэштег. Я пытался options.setBinary(), но setBinary() не распознается.

Ответы [ 2 ]

0 голосов
/ 16 октября 2019

После установки новой версии я столкнулся с этой проблемой и решил ее следующим образом. Я надеюсь, что это помогает другим друзьям.

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.firefox.service import Service
from selenium.webdriver.firefox.options import Options as options
from selenium.webdriver.firefox.options import Options as Firefox_Options

firefox_options = Firefox_Options()
firefox_options.binary = r'C:\Program Files\Mozilla Firefox\firefox.exe';

driver = webdriver.Firefox(executable_path=r'C:\\xampp\\htdocs\\dev\\geckodriver.exe',options=firefox_options)

driver.get('https://google.com')
0 голосов
/ 12 октября 2019

Я решил проблему

    from selenium.webdriver.firefox.options import Options as options
    from selenium.webdriver.firefox.service import Service

    #///////////////// Init binary & driver
    new_driver_path = 'path to driver'
    new_binary_path = 'path to binary'

    ops = options()
    ops.binary_location = new_binary_path
    serv = Service(new_driver_path)
    browser1 = selenium.webdriver.Firefox(service=serv, options=ops)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...