Použití Selenu s Statečný Prohlížeč projít servisní objekt napsaný v pythonu

0

Otázka

#TLDR chci použít statečný prohlížeč s selen napsaný v pythonu, ale nemůžu najít žádný aktuální řešení, která fungují.

Tento kód funguje

from selenium import webdriver
option = webdriver.ChromeOptions()
option.binary_location = r'C:\Program Files\BraveSoftware\Brave- 
Browser\Application\brave.exe'
driver = webdriver.Chrome(executable_path=r'C:\WebDrivers\chromedriver.exe', 
options=option)
driver.get("https://www.google.com")
driver.quit()

ale executable_path je zastaralý:

C:\Users\USER\PycharmProjects\pythonProject\sol2.py:5: 
DeprecationWarning: executable_path has been deprecated, please pass in a Service object 
driver = webdriver.Chrome(executable_path=r'C:\WebDrivers\chromedriver.exe', options=option)

Tohle jsem našel na youtube: https://www.youtube.com/watch?v=VMzmVFA-Gps

# import statements
from selenium import webdriver
from selenium.webdriver.chrome.service import Service

# Declare variables and setup services
driverService = Service('C:/webdrivers/chromedriver.exe')   
# 1. Passes the chromedriver path to the service object
# 2. stores the service object in the s variable
driver = webdriver.Chrome(service=driverService)            
# 1. Passes service object s into the webdriver.Chrome  
# 2. Stores object in driver variable 

# Body (actually doing stuff)
driver.maximize_window()                # maximizes the browser window
driver.get("https://www.google.com")    # navigates to google.com
myPageTitle = driver.title              
# gets the title of the web page stores in myPageTitle
print(myPageTitle)                      # prints myPageTitle to Console
assert "Google" in myPageTitle          
# checks myPageTitle to ensure it contains Google

# clean up
driver.quit()                           # closes the browser

Když jsem se spustit tento kód, který jsem dostal: selen.společného.výjimky.WebDriverException: Zpráva: neznámá chyba: nelze najít Chrome binární

Tento kód pracuje tak dlouho, jak chcete povolit Google Chrome na vašem PC. Nechci Chrome na mém PC.

Problém je, že nemůžu přijít na to, jak se dostat selen používat brave místo Chrome.

Jak tohoto psaní, já používám následující:
Windows 11 Domů
Selen v4.0.0
Python v3.10
ChromeDriver 95.0.4638.69
Statečný Verze Prohlížeče 1.31.91 Chrom: 95.0.4638.69 (Oficiální Build) (64-bit)

Může někdo, prosím, vysvětlit, jak aby tuto práci s aktuální (přečtěte si nondeprecated) kód na statečný prohlížeč? Díky za váš čas.

brave brave-browser python selenium
2021-11-15 06:36:37
2
0

budete muset nastavit cestu k statečný binární.

options.setBinary("Path to brave.exe");

Jít prostřednictvím této webové stránky:

https://mundrisoft.com/tech-bytes/how-to-execute-selenium-script-in-brave-browser/

2021-11-15 06:48:27

Tento skript se zmínil v odkazu je napsaný v javě. Nemůžu a nechci převést to do pythonu. Nevím, java. prosím převést na python.
Ian Fischer
0

Zahájit prohlížení souvislosti je třeba:

  • Použití binary_location atribut bodu statečný binární umístění.
  • Použijte chromedriver spustitelný zahájit statečný prohlížeče.

Blok kódu:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service

option = webdriver.ChromeOptions()
option.binary_location = r'C:\Program Files (x86)\BraveSoftware\Brave-Browser\Application\brave.exe'
driverService = Service('C:/Users/.../chromedriver.exe')
driver = webdriver.Chrome(service=driverService, options=option)
driver.get("https://www.google.com")

Poznámka: DeprecationWarning: executable_path se již nepoužívá , je neškodný varovná zpráva, která nemá ovlivňuje váš test výkonu a stále se můžete ignorovat.


Odkazy

Můžete najít pár příslušné podrobné diskuse v:

2021-11-15 22:26:25

tam je důvod, že programátoři se neobtěžoval, aby odmítání varování. Nemyslím si, že je moudré používat zastaralý kód. Správný způsob, jak je projít service object. To je to, co se snažím dělat pro Odvážné.
Ian Fischer

proper way is to pass the service object: To je to, co můj kód je založen na.
DebanjanB

Omlouvám se. Mé oči šel rovnou do Vědomí. Předpokládal jsem, že jste měli jen opakovat stejný kód, aniž by se skutečně při pohledu na kód.
Ian Fischer

Zdá se, že jste se skákání zbraň příliš brzy. Zkusil jsi spustit kód v řešení alespoň pro jednou?
DebanjanB

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................