在Selenium选项(Firefox上)中,我可以找到**Custom browser**。是否可以使用此选项在 Chromium Browser(非Chrome)中运行Selenium测试?
Custom browser
9fkzdhlc1#
嗯,公认的答案并没有回答这个问题。谷歌Chrome是基于 chrome ,但他们不是同一个浏览器。这就是你想要的:(因为官方不支持Chromium)
DefaultSelenium selenium = new DefaultSelenium("localhost", 4444, "*custom C:/path/to/chromium.exe" , "www.google.com"); selenium.start();
编辑2018 - 08:看起来被接受的答案在几年后变成了这个答案的副本,所以我最初的评论不再正确。我把它留在那里,但删除了,因为如果我直接删除它,投票会产生误导。
3b6akqbq2#
在unix系统上,您可以执行以下操作
sudo ln -s /usr/lib/chromium-browser/chromium-browser /usr/bin/google-chrome
然后在创建DefaultSelenium示例时可以使用“*googlechrome”作为启动参数。
ycggw6v23#
(巨蟒)你可以用chromium-chromedriver来代替vanilla chromedriver,它可以通过apt-get来安装,比如"sudo apt-get install chromium-chromedriver"在我的脚本中,我配置chromebrowser和驱动程序使用chromium exe和chromedriver exe,如下所示:
from selenium import webdriver from selenium.webdriver.chrome.options import Options options = Options() options.BinaryLocation = "/usr/bin/chromium-browser" driver = webdriver.Chrome(executable_path="/usr/bin/chromedriver",options=options) driver.get("https://www.google.com")
polhcujo4#
是。对于 chrome 用途:
DefaultSelenium selenium = new DefaultSelenium("localhost", 4444, "*custom path/to/chromium" , "www.google.com"); selenium.start();
您可以使用的其他选项是 * 自定义、* chrome (注:这不是谷歌浏览器,它只是一个火狐模式),*googlechrome,*iexplore。请检查 selenium 文档的完整列表的模式。
**编辑:**将谷歌 chrome 更改为 chrome
7nbnzgx95#
可能太简单了,我会找出我做错了什么,但是...
ChromeOptions options = new ChromeOptions(); options.BinaryLocation = "C:\Program Files (x86)\Chromium\Application\chrome.exe"); using (var chrome = new ChromeDriver(options))
似乎起作用了...
6gpjuf906#
是的,它是......在Linux中,您可以安装,以便在没有xwindow的情况下使用(例如:在一个网络服务器)太...它很好的一些测试。
apt install chromium-shell
在代码中,你需要一个chromedriver,看看这个:chromedriver在本例中,我将使用python代码,以无头模式打开chromium:
def startBot(): chrome_options = Options() chrome_options.add_argument('--headless') chrome_options.add_argument('--no-sandbox') chrome_options.add_argument('--disable-dev-shm-usage') driver = webdriver.Chrome('/opt/chromedriver85', options=chrome_options) #driver.set_window_size(1366, 728) #aguardar carregamento em segundos driver.implicitly_wait(5) print("get url...") driver.get("https://www.google.com")
观察结果:无头浏览器是自动测试和服务器环境的绝佳工具,在这些环境中您不需要可见的UI shell 。(source)就是这样!
ffx8fchx7#
对我来说,只要加上chrome_options.binary_location = "/usr/bin/chromium-browser"样本代码:
chrome_options.binary_location = "/usr/bin/chromium-browser"
from pyvirtualdisplay import Display from selenium import webdriver display = Display(visible=1, size=(1600, 902)) display.start() chrome_options = webdriver.ChromeOptions() chrome_options.add_argument("--disable-extensions") chrome_options.add_argument("--profile-directory=Default") chrome_options.add_argument("--incognito") chrome_options.add_argument("--disable-plugins-discovery") chrome_options.add_argument("--start-maximized") chrome_options.binary_location = "/usr/bin/chromium-browser" driver = webdriver.Chrome(chrome_options=chrome_options) driver.delete_all_cookies() driver.set_window_size(800, 800) driver.set_window_position(0, 0) print("arguments done") driver.get("http://google.com")
使用Version 104.0.5112.101 (Official Build) Built on Ubuntu , running on Ubuntu 18.04 (64-bit)
Version 104.0.5112.101 (Official Build) Built on Ubuntu , running on Ubuntu 18.04 (64-bit)
mctunoxg8#
chromium-chromedriver
如果你碰巧运行Ubuntu,它切换到了那个有问题的Chromium快照,一个合适的chromedriver已经包含在内了。/snap/bin/chromium.chromedriver.如果您碰巧使用了一个在PATH中搜索chromedriver的vanilla selenium,那么所谓的过渡性不做任何事情的包chromium-chromedriver(dpkg)实际上提供了:执行上述快照版本的"可执行文件"( shell 脚本)/usr/bin/chromedriver。在这个Ubuntu焦点安装中,我碰巧有一个过渡的chromium-browser包,它可能根本不需要,但它也提供了一个(无用的?) Package 器,让我先尝试一个匹配的chromium-chromedriver包版本。
/snap/bin/chromium.chromedriver
PATH
chromedriver
/usr/bin/chromedriver
chromium-browser
$ python3 -m venv venv $ . venv/bin/activate $ pip install selenium $ python3 >>> from selenium import webdriver >>> d = webdriver.Chrome()
8条答案
按热度按时间9fkzdhlc1#
嗯,公认的答案并没有回答这个问题。谷歌Chrome是基于 chrome ,但他们不是同一个浏览器。
这就是你想要的:(因为官方不支持Chromium)
编辑2018 - 08:看起来被接受的答案在几年后变成了这个答案的副本,所以我最初的评论不再正确。我把它留在那里,但删除了,因为如果我直接删除它,投票会产生误导。
3b6akqbq2#
在unix系统上,您可以执行以下操作
然后在创建DefaultSelenium示例时可以使用“*googlechrome”作为启动参数。
ycggw6v23#
(巨蟒)
你可以用chromium-chromedriver来代替vanilla chromedriver,它可以通过apt-get来安装,比如"sudo apt-get install chromium-chromedriver"
在我的脚本中,我配置chromebrowser和驱动程序使用chromium exe和chromedriver exe,如下所示:
polhcujo4#
是。对于 chrome 用途:
您可以使用的其他选项是 * 自定义、* chrome (注:这不是谷歌浏览器,它只是一个火狐模式),*googlechrome,*iexplore。请检查 selenium 文档的完整列表的模式。
**编辑:**将谷歌 chrome 更改为 chrome
7nbnzgx95#
可能太简单了,我会找出我做错了什么,但是...
似乎起作用了...
6gpjuf906#
是的,它是......
在Linux中,您可以安装,以便在没有xwindow的情况下使用(例如:在一个网络服务器)太...它很好的一些测试。
在代码中,你需要一个chromedriver,看看这个:
chromedriver
在本例中,我将使用python代码,以无头模式打开chromium:
观察结果:
无头浏览器是自动测试和服务器环境的绝佳工具,在这些环境中您不需要可见的UI shell 。(source)
就是这样!
ffx8fchx7#
对我来说,只要加上
chrome_options.binary_location = "/usr/bin/chromium-browser"
样本代码:
使用
Version 104.0.5112.101 (Official Build) Built on Ubuntu , running on Ubuntu 18.04 (64-bit)
mctunoxg8#
chromium-chromedriver
软件包,从Selenium启动Chromium,就像标准的Chrome一样,没有做任何修改。**TL; DR:
如果你碰巧运行Ubuntu,它切换到了那个有问题的Chromium快照,一个合适的chromedriver已经包含在内了。
/snap/bin/chromium.chromedriver
.如果您碰巧使用了一个在
PATH
中搜索chromedriver
的vanilla selenium,那么所谓的过渡性不做任何事情的包chromium-chromedriver
(dpkg)实际上提供了:执行上述快照版本的"可执行文件"( shell 脚本)/usr/bin/chromedriver
。在这个Ubuntu焦点安装中,我碰巧有一个过渡的
chromium-browser
包,它可能根本不需要,但它也提供了一个(无用的?) Package 器,让我先尝试一个匹配的chromium-chromedriver
包版本。