我正在尝试将vivaldi浏览器与Selenium一起使用。它是一个铬浏览器,运行与铬非常相似。我让Selenium与Firefox(geckodriver(和Google Chrome(chromedriver(一起工作,但我似乎找不到使用Vivaldi的方法。任何帮助将不胜感激。
如果vivaldi二进制文件默认位于C:UserslevirAppDataLocalVivaldiApplicationvivaldi.exe
您可以使用以下解决方案:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_argument("start-maximized")
options.binary_location=r'C:UserslevirAppDataLocalVivaldiApplicationvivaldi.exe'
driver = webdriver.Chrome(executable_path=r'C:pathtochromedriver.exe', options=options)
driver.get('http://google.com/')
供将来参考:
要使Vivaldi与硒一起工作,您需要确保三件事:
- ChromeDriver 的正确版本
- 通过
webdriver.ChromeOptions()
将硒的驱动程序设置为使用 Vivaldi 的二进制文件 - 确保您获得正确的网址(不要忘记"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}AppDataLocalVivaldiApplicationvivaldi.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")