Ich habe Selenium mit dem Python Chrome Webdriver verwendet ... In meinem Code habe ich Folgendes verwendet:
driver = webdriver.Chrome(executable_path = PATH_TO_WEBDRIVER)
um den Web-Treiber auf die ausführbare Web-Treiber-Datei zu verweisen. Gibt es eine Möglichkeit, den Web-Treiber auf die Chrome-Browser-Binärdateien zu verweisen?
In https://sites.google.com/a/chromium.org/chromedriver/capabilities haben sie Folgendes (was ich vermute, was ich suche):
ChromeOptions options = new ChromeOptions();
options.setBinary("/path/to/other/chrome/binary");
Hat jemand ein Beispiel für Python?
Sie können Chrome Browser Binary auf folgende Weise in Chrome für den Chrome-Treiber festlegen:
Options
-Klasse verwenden: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/')
DesiredCapabilities
-Klasse verwenden: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/')
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')
Gibt es eine Möglichkeit, Webdriver auf die Chrome Browser-Binärdateien zu verweisen?
Wie andere bereits angegeben haben, verwenden Sie binary_location
. Der Speicherort von Chrome variiert jedoch je nach Plattform. Fedora und Ubuntu verwenden unterschiedliche Speicherorte. Daher möchten Sie möglicherweise Folgendes verwenden:
def get_chrome():
if os.path.isfile('/usr/bin/chromium-browser'):
return '/usr/bin/chromium-browser'
Elif os.path.isfile('/usr/bin/chromium'):
return '/usr/bin/chromium'
Elif os.path.isfile('/usr/bin/chrome'):
return '/usr/bin/chrome'
Elif os.path.isfile('/usr/bin/google-chrome'):
return '/usr/bin/google-chrome'
else:
return None
Und dann:
if version.parse(Selenium.__version__) >= version.parse("3.0"):
opts = Options()
opts.binary_location = get_chrome()
opts.add_argument('--headless')
opts.add_argument('--no-sandbox')
opts.add_argument('--disable-dev-shm-usage')
driver = webdriver.Chrome(chrome_options=opts)
driver.maximize_window()
else:
opts = Options()
opts.headless = True
opts.binary_location = get_chrome()
driver = webdriver.Chrome(chrome_options=opts)
driver.maximize_window()
agent = driver.execute_script('return navigator.userAgent')
Wenn Sie Chrome verwenden möchten, müssen Sie zunächst die binäre URL von der folgenden URL herunterladen: -
https://sites.google.com/a/chromium.org/chromedriver/
Nun müssen Sie diesen Treiberpfad an den Selenium-Web-Treiber übergeben.
Wenn Sie Python verwenden, sollte der Code wie folgt aussehen:
driver = webdriver.Chrome('C:\Users\name\Downloads\chromedriver_win32 (3)\chromedriver.exe')
driver.implicitly_wait(30) # seconds
driver.get('https://www.google.co.in/')
Hoffe es wird dir helfen :)
Vielen Dank, dass ich 2,5 Stunden lang damit zu kämpfen hatte, da ich nicht wusste, wie man den Pfad für die ausführbare Chrome-Datei in Python setzt. Funktioniert jetzt
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", )