我正在尝试在 ubuntu docker 映像中运行 chromium 的无头实例,但我不断收到错误消息,该系统没有显示器,也没有音频输入或输出
[0307/003516.533150:ERROR:bus.cc(393)] Failed to connect to the bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
Run Code Online (Sandbox Code Playgroud)
有没有办法禁用 dbus,因为 docker 似乎不支持它,这是我的 Dockerfile 中的行
FROM arm64v8/ubuntu:bionic
RUN apt install -y chromium-browser
RUN apt install -y chromium-drivers
Run Code Online (Sandbox Code Playgroud)
这是我使用的启动线
chromium-browser --no-sandbox --headless --autoplay-policy=no-user-gesture-required --no-first-run --disable-gpu --use-fake-ui-for-media-stream --use-fake-device-for-media-stream --disable-sync index.html
Run Code Online (Sandbox Code Playgroud) 我有这个简单的 docker 文件:
FROM ubuntu:eoan
ENV DEBIAN_FRONTEND=noninteractive
RUN apt update && apt install -y \
chromium-browser \
chromium-chromedriver
Run Code Online (Sandbox Code Playgroud)
当我尝试构建它时:
...
Preparing to unpack .../00-chromium-browser_77.0.3865.120-0ubuntu1.19.10.1_amd64.deb ...
=> Installing the chromium snap
==> Checking connectivity with the snap store
===> Unable to contact the store, trying every minute for the next 30 minutes
Run Code Online (Sandbox Code Playgroud)
而且它似乎永远不会到达所述快照商店。如果图像基于disco而不是eoan. 它在物理机上运行良好。
在Selenium选项(在Firefox上)我可以找到Custom browser.
是否可以使用此选项在Chromium Browser(而不是Chrome)中运行Selenium测试?
我正在运行小学0.2(Ubuntu 12.04,但有不同的桌面环境),我安装了Aptana工作室.一切都很好,我无法让内部网络浏览器工作.
当我打开Aptana Studio起始页面时,我收到一条错误消息"我们无法加载Chromium浏览器.请查看文档以获取有关可能的解决方法/修复程序的详细信息.该消息包含一个链接,但您必须拥有@aptana关闭错误后点击详细信息给出了以下内容,如果非常类似于如何在Linux上为Aptana设置内部浏览器,但我已经尝试过但MOZILLA_FIVE_HOME=/usr/lib/xulrunner它没有用.
不再处理[未知的Mozilla路径(MOZILLA_FIVE_HOME未设置)] org.eclipse.swt.SWTError:在org.eclipse.swt.SWT.error中不再处理[未知的Mozilla路径(MOZILLA_FIVE_HOME未设置)](SWT.java:4308 )org.eclipse.swt.browser.Mozilla.initMozilla(Mozilla.java:1826)org.eclipse.swt.browser.Mozilla.create(Mozilla.java:687)org.eclipse.swt.browser.Browser. (Browser.java:99)org.eclipse.ui.internal.browser.BrowserViewer.(BrowserViewer.java:225)at com.aptana.portal.ui.internal.BrowserViewerWrapper.createSWTBrowserViewer(BrowserViewerWrapper.java:26)at com位于org.eclipse.ui.internal.EditorReference的com.aptana.portal.ui.browser.AbstractPortalBrowserEditor.createPartControl(AbstractPortalBrowserEditor.java:112)上的.aptana.portal.ui.browser.AbstractPortalBrowserEditor.createBrowserViewer(AbstractPortalBrowserEditor.java:216) .createPartHelper(EditorReference.java:670)位于org.eclipse.ui.internal.Workbench的org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:465)PartReference.getPart(WorkbenchPartReference.java:595)在org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:313)在org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:180) org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:270)org.eclipse的org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65) org.eclipse.ui.PartStack.setSelection上的org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1245)中的.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:473) (PartStack.java:1198)org.eclipse.ui.PartStack.showPart(PartStack.java:1597)位于org.eclipse的org.eclipse.ui.internal.PartStack.add(PartStack.java:493). ui.internal.EditorStack.add(EditorStack.java:103)org.eclipse.ui.PartStack.add(PartStack.java:479)org.eclipse.ui.internal.EditorStack.add(编辑 Stack.java:112)在org.eclipse.ui.internal.EditorSashContainer.addEditor(EditorSashContainer.java:63)在org.eclipse.ui.internal.EditorAreaHelper.addToLayout(EditorAreaHelper.java:225)在org.eclipse.ui .internal.EditorAreaHelper.addEditor(EditorAreaHelper.java:213)org.eclipse.ui.internal.EditorManager.createEditorTab(EditorManager.java:808)org.eclipse.ui.internal.EditorManager.openEditorFromDescriptor(EditorManager.java:707) )在org.eclipse.ui.internal.EditorManager.openEditor(EditorManager.java:666)在org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2942)在org.eclipse.ui.internal.WorkbenchPage. busyOpenEditor(WorkbenchPage.java:2850)在org.eclipse.ui.internal.WorkbenchPage.access $ 11(WorkbenchPage.java:2842)在org.eclipse.ui.internal.WorkbenchPage $ 10.run(WorkbenchPage.java:2793)在组织位于org.eclipse.ui.i的org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2789)的.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)nternal.WorkbenchPage.openEditor(WorkbenchPage.java:2773)在org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2756)在com.aptana.portal.ui.internal.Portal $ 1.runInUIThread(Portal.java :227)org.eclipse.ui.progress.UIJob $ 1.run(UIJob.java:95)org.eclipse.swt.wts.RunnableLock.run(RunnableLock.java:35)atg.eclipse.swt.widgets .synchronizer.runAsyncMessages(Synchronizer.java:135)位于org.eclipse.swt.wts.Display.readAndDispatch(Display.java:3212)的org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3563)处. Org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2701)org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2665)org.eclipse.ui.internal.Workbench.access $ 4 (Workbench.java:2499)org.eclipse.ui.internal.Workbench $ 7.run(Workbench.java:679)org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)at org org.eclipse.ui.PlatformU上的.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668)I.createAndRunWorkbench(PlatformUI.java:149)在com.aptana.rcp.IDEApplication.start(IDEApplication.java:125)在org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)在组织org.eclipse.core上的org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)中的.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) .runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun .reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)位于org.eclipse的java.lang.reflect.Method.invoke(Method.java:601)的sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43). equinox.launcher.Main.invokeFramework(Main.java:622)位于org.eclipse.equinox.laun的org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)cher.Main.run(Main.java:1410)org.eclipse.equinox.launcher.Main.main(Main.java:1386)
我的Chrome检查器出了问题,我想将Chrome检查器重置为开箱即用的设置.我该怎么办?(不用删除我的整个Chrome)
我下载了最新版本的铬,以测试无头功能.
当我跑(作为根,因为我还在测试东西):
./chrome --no-sandbox http://cp7.awardspace.com/speed-test/awardspace-data1mb.zip
Run Code Online (Sandbox Code Playgroud)
在GUI终端中,它打开Chromium并下载文件.
如果我试图无头地运行它,我输入以下内容:
./chrome --no-sandbox --headless http://cp7.awardspace.com/speed-test/awardspace-data1mb.zip
Run Code Online (Sandbox Code Playgroud)
终端输出一些信息,没有窗口打开,但是:我没有在任何地方下载文件.
我一直在寻找互联网和讨论组以获取更多信息,但找不到任何东西.
文件下载是否在Chromium的无头模式下工作?
我一直在运行以下代码,以便csv从网站下载文件http://niftyindices.com/resources/holiday-calendar:
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({headless: true});
const page = await browser.newPage();
await page.goto('http://niftyindices.com/resources/holiday-calendar');
await page._client.send('Page.setDownloadBehavior', {behavior: 'allow',
downloadPath: '/tmp'})
await page.click('#exportholidaycalender');
await page.waitFor(5000);
await browser.close();
})();
Run Code Online (Sandbox Code Playgroud)
随着headless: false它的工作,它将文件下载到/Users/user/Downloads.用headless: true它不起作用.
我在macOS Sierra(MacBook Pro)上使用puppeteer版本运行1.1.1它,它将Chromium版本拉66.0.3347.0入.local-chromium/目录并使用npm init和npm i --save puppeteer设置它.
有什么想法错了吗?
在此先感谢您的时间和帮助,
我在 google colab 中使用 selenium chromedriver 一段时间了。
今天我开始工作,我遇到了以前从未出现过的错误。
我想知道这个错误是否与 chromedriver 版本有关。
!apt-get update
!apt install -y chromium-chromedriver
Get:1 focal-updates/main amd64 apparmor amd64 2.13.3-7ubuntu5.1 [494 kB]
Get:2 focal/main amd64 liblzo2-2 amd64 2.10-2 [50.8 kB]
Get:3 focal-updates/main amd64 squashfs-tools amd64 1:4.4-1ubuntu0.3 [117 kB]
Get:4 focal-updates/main amd64 snapd amd64 2.57.5+20.04ubuntu0.1 [37.6 MB]
Get:5 focal-updates/universe amd64 chromium-browser amd64 1:85.0.4183.83-0ubuntu0.20.04.2 [48.3 kB]
Get:6 focal-updates/universe amd64 chromium-chromedriver amd64 1:85.0.4183.83-0ubuntu0.20.04.2
...
...
(Reading database ... 129791 files and directories currently installed.)
Preparing to unpack .../chromium-browser_1%3a85.0.4183.83-0ubuntu0.20.04.2_amd64.deb ... …Run Code Online (Sandbox Code Playgroud) selenium chromium selenium-chromedriver selenium-webdriver google-colaboratory
我认为这很容易,但我找不到任何简单的tar.gz/tar.bz2/zip存档的链接.
Chrome使用一些自定义工具build_depot,甚至可以下载源代码.但是我不想编译源代码,我只想看看它们是如何在源代码中做的.
所以我需要的是源代码下载链接,以最简单的形式.有没有办法找到一个包含所有源代码的zip存档,而无需阅读howtos以及构建和编译工具只是为了能够下载它?
即便是旧版本也可以.我不需要编译任何东西,我只需要代码,并且没有下载链接.
我有一个扩展,我最近升级到清单版本2.为此,我删除background_page了清单文件中的属性,并将其替换为background: {page: "background.html"}.这很有效,一切都很好.然而,事实证明,有浏览器和人们使用旧版本的Chrome,或者Rockmelt和其他基于Chromium的浏览器版本不支持background-property或者manifest_version: 2尚未支持.
background_page: "background.html"除了background-property 之外,一个简单的解决方案是将-property 添加到清单文件中.这会在chrome://extension开发人员模式下发出警告:
There were warnings when trying to install this extension:
'background_page' requires manifest version of 1 or lower.
Run Code Online (Sandbox Code Playgroud)
我的问题是:两者都会产生负面影响吗?例如,background_page弃用时会发生什么?我的用户会看到任何警告吗?有任何想法吗?