web-dev-qa-db-fra.com

Définir le navigateur binaire de chrome dans chromedriver en Python

J'ai utilisé Selenium avec WebDriver Python Chrome . Dans mon code, j'ai utilisé:

driver = webdriver.Chrome(executable_path = PATH_TO_WEBDRIVER)

pour pointer le WebDriver vers l'exécutable WebDriver. Existe-t-il un moyen de faire pointer Webdriver vers les fichiers binaires du navigateur Chrome?

Dans https://sites.google.com/a/chromium.org/chromedriver/capabilities ils ont les éléments suivants (et je suppose que c'est ce que je recherche):

ChromeOptions options = new ChromeOptions();
options.setBinary("/path/to/other/chrome/binary");

Quelqu'un a un exemple pour Python?

6
user123

Vous pouvez définir le navigateur binaire de Chrome Browser sur chrome webdriver en Python de l'une des manières suivantes:


Utilisation de Options Class:

from Selenium import webdriver
from Selenium.webdriver.chrome.options import Options
options = Options()
options.binary_location = "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe"
driver = webdriver.Chrome(chrome_options=options, executable_path="C:/Utility/BrowserDrivers/chromedriver.exe", )
driver.get('http://google.com/')

Utilisation de DesiredCapabilities Class:

from Selenium import webdriver
from Selenium.webdriver.common.desired_capabilities import DesiredCapabilities
cap = DesiredCapabilities.CHROME
cap = {'binary_location': "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe"}
driver = webdriver.Chrome(desired_capabilities=cap, executable_path="C:\\Utility\\BrowserDrivers\\chromedriver.exe")
driver.get('http://google.com/')

Utilisation de Chrome en tant que Service:

from Selenium import webdriver
import Selenium.webdriver.chrome.service as service
service = service.Service('C:\\Utility\\BrowserDrivers\\chromedriver.exe')
service.start()
capabilities = {'chrome.binary': "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe"}
driver = webdriver.Remote(service.service_url, capabilities)
driver.get('http://www.google.com')
9
DebanjanB

Tout d'abord, si vous souhaitez utiliser Chrome, vous devez télécharger son binaire à partir de l'URL suivante: -

https://sites.google.com/a/chromium.org/chromedriver/

Vous devez maintenant passer ce chemin de pilote au Webdriver Selenium. 

Si vous utilisez python, le code devrait être comme ci-dessous: -

    driver = webdriver.Chrome('C:\Users\name\Downloads\chromedriver_win32 (3)\chromedriver.exe')
    driver.implicitly_wait(30) # seconds
    driver.get('https://www.google.co.in/')

J'espère que ça vous aidera :)

0
Shubham Jain

Merci beaucoup. Cela faisait 2,5 heures que je me débattais avec cela car je ne savais pas comment définir le chemin d'accès de l'exécutable Chrome en Python. Fonctionne maintenant

options = Options()
options.binary_location = "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe"
driver = webdriver.Chrome(chrome_options=options, executable_path="C:/Utility/BrowserDrivers/chromedriver.exe", )
0
Rembau