Как запустить сеанс браузера Vivaldi на основе Chromium с помощью Selenium и Python
Я пытаюсь использовать браузер vivaldi с Selenium. Это браузер Chrome, который работает очень похоже на Chrome. У меня есть Selenium, работающий с Firefox (geckodriver) и Google Chrome(chromedriver), но я не могу найти способ найти способ с Vivaldi. Любая помощь будет оценена.
4 ответа
Если двоичный файл vivaldi по умолчанию находится вC:\Users\levir\AppData\Local\Vivaldi\Application\vivaldi.exe
вы можете использовать следующее решение:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_argument("start-maximized")
options.binary_location=r'C:\Users\levir\AppData\Local\Vivaldi\Application\vivaldi.exe'
driver = webdriver.Chrome(executable_path=r'C:\path\to\chromedriver.exe', options=options)
driver.get('http://google.com/')
На будущее:
чтобы заставить Вивальди работать с селеном, вам нужно убедиться в трех вещах:
- Правильная версия ChromeDriver
- Установите драйвер селена для использования двоичного файла Вивальди через
webdriver.ChromeOptions()
- Убедитесь, что вы получаете правильный URL (не забудьте "https: //")
Все вышеперечисленное объясняется шаг за шагом со скриншотами в этом сообщении блога.
Ключ
executable_path
будет объявлен устаревшим в следующих выпусках Selenium.В этом посте есть решение. Я публикую копию указанного решения с путем к Vivaldi, где имя пользователя извлекается сценарием, поэтому вам не нужно жестко кодировать его.
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
import os
current_user = os.getlogin()
s = Service(rf"C:\Users\{current_user}\AppData\Local\Vivaldi\Application\vivaldi.exe")
driver = webdriver.Chrome(service=s)
driver.get("http://duckduckgo.com") # or your website of choice
Ты можешь использовать ChromeOptions
и поставьте двоичный.
from selenium.webdriver.chrome.options import Options
opt = Options()
opt.binary_location = chromium_path//path to chromium binary
driver = webdriver.Chrome(options=opt, executable_path="path_to_chromedriver")