在centos上运行firefox时。我收到以下错误。我该如何解决这个问题?
XPCOMGlueLoad error for file /usr/local/firefox/libxul.so:
libdbus-glib-1.so.2: cannot open shared object file: No such file or directory
Couldn't load XPCOM.
Run Code Online (Sandbox Code Playgroud) 是否可以使用 UniversalTermsrv.dll 在 Windows 7 中无头运行 PyAutoGUI,创建多个席位?
我正在尝试使用headless chromewith selenium,我为 chromedriver 的路径创建了一个符号链接到 /usr/local/bin 中,但是当我运行时
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument('--headless')
browser = webdriver.Chrome()
browser.get('http://www.google.com')
Run Code Online (Sandbox Code Playgroud)
我得到的错误是
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/opt/anaconda2/envs/tensorflow/lib/python2.7/site-packages/selenium/webdriver/chrome/webdriver.py", line 69, in __init__
desired_capabilities=desired_capabilities)
File "/opt/anaconda2/envs/tensorflow/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 92, in __init__
self.start_session(desired_capabilities, browser_profile)
File "/opt/anaconda2/envs/tensorflow/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 179, in start_session
response = self.execute(Command.NEW_SESSION, capabilities)
File "/opt/anaconda2/envs/tensorflow/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 236, in execute
self.error_handler.check_response(response)
File "/opt/anaconda2/envs/tensorflow/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 192, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: …Run Code Online (Sandbox Code Playgroud) 我是 React Native 的新手。
这个想法如下: Headless Task 每隔一秒就会将存储中的值递增 1。每 3 秒 UI 就会读取这个存储的值并将其显示给用户。我在我的物理设备上运行它但没有成功。
似乎没有一个任务正在工作或被调用。我不知道。
感谢您的时间和合作!
脚步
1-我使用react-native-clireact -native init monitorService创建了一个应用程序
2-在根目录中我创建了一个文件SomeTaskName.js
3-在文件夹 android/app/src/main/java/com/monitorService 中我创建了一个文件MyTaskService.java
4-更改AndroidManifest.xml以包含该服务
5-更改了App.js以包含逻辑。
6-更改Index.js来调用服务
“文件或命令的步骤”
1-react-native init monitorService
2- SomeTaskName.js
const internalWritting = null;
export default async (taskData) => {
// do stuff
console.log("TASK REGISTER DATA", taskData);
this.intervalWritting = setInterval(async () => {
await AsyncStorage.getItem(SuperStoreServerConfig)
.then(success => JSON.parse(success))
.then((storedItem) => {
if (storedItem) …Run Code Online (Sandbox Code Playgroud) 我的开发环境是 Linux,但是我们必须支持旧版 Windows 非 GUI 软件。该软件是用 ASP.net(非核心)编写的。
我希望能够在虚拟机中安装 Windows 并在该虚拟机中构建/运行软件。我不需要 UI,所以我希望通过在非 GUI 模式下运行 Windows 来减少机器负载。
那可能吗?
问题描述
目前正在开发一个项目,需要我浏览一个网址并截取网页的屏幕截图。
在查看各种资源后,我发现了 3 种方法。我将提到我当前使用的所有 3 种方法。
方法 - 1:PhantomJS
from selenium import webdriver
import time
import sys
print 'Without Headless'
_start = time.time()
br = webdriver.PhantomJS()
br.get('http://' + sys.argv[1])
br.save_screenshot('screenshot-phantom.png')
br.quit
_end = time.time()
print 'Total time for non-headless {}'.format(_end - _start)
Run Code Online (Sandbox Code Playgroud)
方法 2:无头浏览器
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
print 'Headless'
_start = time.time()
options = Options()
options.add_argument("--headless") # Runs Chrome in headless mode.
options.add_argument('--no-sandbox') # # Bypass OS security model
options.add_argument('start-maximized')
options.add_argument('disable-infobars')
options.add_argument("--disable-extensions")
driver = …Run Code Online (Sandbox Code Playgroud) 我一直在努力解决 Headless Chromium 的性能问题。我的计划是以至少 30fps(甚至更高)的速度捕获加载的网站。然而,随着分辨率的提高,返回帧的频率会下降。
对于 720p 窗口分辨率,只要将分辨率更改为 1080p,我就可以轻松达到约 35fps,然后帧数会下降到约 20fps 甚至更低。我在一台有 30 个 CPU 的机器上运行 Google Cloud Compute Engine 上的 chromium,但根本没有完全使用。
你们中有人遇到过类似的问题吗?
我的一些设置:
-disable-translate --disable-extensions --disable-background-networking --safebrowsing-disable-auto-update --disable-sync --metrics-recording-only --disable-default-apps --no-first-run --remote-debugging-port=9222 --user-data-dir=/var/app/CHROME --disable-setuid-sandbox --window-size=1920,1080 --disable-gpu --hide-scrollbars --user-agent=true --remote-debugging-address=0.0.0.0 --no-sandbox --no-zygote --headless --autoplay-policy=no-user-gesture-required --disable-notifications --disable-logging --disable-permissions-apivideo google-chrome headless chromium google-chrome-devtools
UI 不渲染 GL 元素,导致测试失败并出现错误:无法初始化 WebGL。
测试通过 Jenkins 在 docker 实例 (python:3.7-alpine3.9) 上执行。
在本地测试中,我们尝试使用各种网络驱动程序选项,包括 --use-gl=osmosa/swiftshader 等。这些问题是,如果成功应用特定选项,我并没有真正得到反馈。
options = webdriver.ChromeOptions()
options.add_argument("--headless")
options.add_argument("--no-sandbox")
options.add_argument("--disable-dev-shm-usage")
options.add_argument("--disable-gpu")
options.add_argument("--use-gl=swiftshader")
options.add_argument("--enable-webgl")
options.add_argument("--ignore-gpu-blacklist")
web_driver = WebDriver(executable_path='chromedriver', options=options)
Run Code Online (Sandbox Code Playgroud)
也安装了那些小家伙。apk 添加 mesa-osmesa apk 添加 mesa-gl
以上都不会带来幸福的结局。访问网页https://browserleaks.com/webgl,其中在所用浏览器的上下文中返回 webgl 信息,返回了 WebGL 支持的模糊信息:False,但支持但已禁用。
This browser supports WebGL: False (supported, but disabled in browser settings, or blocked by extensions)
This browser supports WebGL 2: False (supported, but disabled in browser settings, or blocked by extensions)
Run Code Online (Sandbox Code Playgroud) 这正是我所做的:
我运行了命令:
chrome.exe --headless --dump-dom " https://www.example.com/ "
根据手册,这应该无头打开该 URL ,并在执行 JavaScript 后将 DOM 作为文本转储到标准输出,cmd.exe在本例中意味着 。
问题:什么也没发生。从字面上看根本没有输出。我唯一可以告诉发生的事情(这纯粹是巧合)是chrome_debug.txt在同一目录中创建了一个名为的文件,其内容如下: [0712/065333.417:ERROR:browser_process_sub_thread.cc(203)] 等待网络服务 5 毫秒
如果我改为运行命令:
chrome.exe "https://www.example.com/"
Run Code Online (Sandbox Code Playgroud)
它会打开浏览器并转到该 URL(如预期)。因此,这并不是我的互联网连接或计算机的根本问题。
我究竟做错了什么?
我想在 docker 环境中使用 headless chrome 来运行编译为 Web 程序集的 C++ 测试。
我已确保我的测试可执行文件与--emrun标志链接,以确保所有输出都发布到 emrun 服务器并打印到控制台(然后由 CTest 框架捕获)。
但是,当运行无头铬时
emrun --browser=chrome --browser_args="--no-sandbox --disable-gpu --use-gl=swiftshader --headless" ./MyTestExecutable.html --gtest_filter=MyTestFixture.myTest
Run Code Online (Sandbox Code Playgroud)
没有任何内容打印到输出中。但是,如果我将命令更改为
emrun --browser=chrome --browser_args="--no-sandbox --disable-gpu --use-gl=swiftshader --headless --remote-debugging-port=9222" ./MyTestExecutable.html --gtest_filter=MyTestFixture.myTest
Run Code Online (Sandbox Code Playgroud)
测试输出很高兴地打印到命令行,但如果输出超过 cca 9kB,则会被截断,这是它自己的问题 - 见下文。但是,chrome 调试会话保持挂起并使用端口 9222。我当前的解决方法是确保 CTest 框架中的每个单元测试都有自己独特的调试端口,并让 chrome 会话保持生成状态,直到容器停止 - docker 清理它们那就起来吧。这个解决方案很脏,我不喜欢它。
--remote-debugging-port我想知道是否有人知道如果没有提供给 Chrome,为什么 emrun 服务器不会打印任何内容?
我的预感是,chrome 在完成执行后会停止向 emrun 服务器发送数据,并且启用调试会以某种方式减慢 chrome 的速度,从而为至少一些输出发送到 emrun 服务器腾出时间(这也解释了大输出大小的截断) 。
我还去查看了 Emscripten 人员如何运行他们的 CI 测试,发现他们在 Xvfb 下使用完整的 chrome,而不是 headless chrome。我也尝试过,但是,这导致了一些其他问题,例如如果在容器内运行但不是以 root 用户身份运行,则 chrome 会因 SIGTRAP 崩溃,而 …
headless ×10
python ×4
chromium ×2
android ×1
c++ ×1
centos ×1
centos7 ×1
docker ×1
emscripten ×1
firefox ×1
javascript ×1
phantomjs ×1
pyautogui ×1
python-3.x ×1
react-native ×1
reactjs ×1
selenium ×1
video ×1
webdriver ×1
windows ×1