标签: headless

Eclipse:无头PDE构建所需的最低Eclipse安装是什么?

我目前正在无头模式下使用PDE构建来构建我的OSGI Bundle项目.PDE Antrunner任务使用Eclipse安装,我只是指向我的本地Eclipse安装.

不幸的是,我的eclipse安装大约260MB,但我认为PDE版本不需要在标准的eclipse安装中使用所有这些插件.

现在有人做了无头PDE构建所需的最小插件列表吗?我在自定义目标平台文件夹中实际拥有的所有依赖项,所以我想我在eclipse安装中唯一需要的是PDE构建实际需要的依赖项.但是那些是什么?我可以将安装缩小到最低限度吗?

我的目标是在我的项目的SVN中签入这个"build-eclipse"文件夹,这样当你检查它时,你就拥有了启动完整构建所需的一切,而不需要触及任何build.properties.但是如果我可能只需要20MB的话,我不想提供266MB的日食.

谢谢Christoph

eclipse eclipse-pde headless

13
推荐指数
2
解决办法
2154
查看次数

硒和无头环境

我最近在Red Hat Server上安装了Python 2.7,Robot Framework和Selenium Library(我仍然不知道我是否成功...),以便在Web应用程序上运行一些测试.

所以我尝试了一个使用Robot Framework的简单测试用例来查看Selenium Library是否正常运行,只是打开一个网页,仅此而已......

Selenium Server根据ps的结果启动并运行,Firefox二进制文件在PATH中...

从Robot Framework运行测试用例(使用pybot testcasename.tsv)我得到一个例外:

错误:将屏幕截图捕获到字符串时出现问题:java.awt.AWTException:无头环境

那么,无头环境是什么?有没有人知道是否还有其他东西需要安装或配置?

environment selenium exception headless robotframework

13
推荐指数
1
解决办法
6537
查看次数

Selenium使用Chrome,但不使用无头Chrome

我使用Selenium开发了一些Python脚本,最初是PhantomJS.在转向自动下载的同时,我切换到(朝向)Firefox(已经工作),然后使用无头选项切换Chrome,因此我不会在我面前打开浏览器.

我的第一个脚本访问一个页面和几个HTML元素,与无头Chrome完美配合.

然而,第二个只适用于Chrome.如果我添加"无头"选项,它将不再起作用.当我尝试在无头模式下打印HTML以查看为什么它找不到我正在寻找的HTML元素时,我只有:

<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body></body></html>
Run Code Online (Sandbox Code Playgroud)

使用标题Chrome,我有一个完整的HTML打印.这就是我开始无头Chrome的方式:

options = webdriver.ChromeOptions()
options.add_argument("--ignore-certificate-errors") 
options.add_argument("headless") 
driver = webdriver.Chrome(chrome_options=options)
Run Code Online (Sandbox Code Playgroud)

再次注意,这适用于我的另一个脚本.这里唯一的区别是我需要登录才能访问该页面,但即便如此,为什么它会与头部一起工作?填写表单,我的脚本无论如何都会自动登录.

Python:3.6.1,Chrome:60.0.3112.78(64位),Selenium:3.4.3

任何的想法 ?谢谢.

编辑:这是代码的开头

url = 'https://10.11.227.21/tmui/'
driver.get(url + "login.jsp")

html_source = driver.page_source
print(html_source)

blocStatus = WebDriverWait(driver, TIMEOUT).until(EC.presence_of_element_located((By.ID, "username")))
inputElement = driver.find_element_by_id("username")
inputElement.send_keys('actualLogin')
inputElement = driver.find_element_by_id("passwd")
inputElement.send_keys('actualPassword')
inputElement.submit()
Run Code Online (Sandbox Code Playgroud)

python selenium google-chrome headless

13
推荐指数
2
解决办法
9748
查看次数

Docker容器中的XDummy

我试图通过使用XDummy驱动程序在docker容器内运行X11服务器.但是,我在使用它时遇到了问题.预期目的是执行无头渲染.我可以使用Xvfb来使用它,但我需要RANDR支持,并且最终还需要GL支持.

Dockerfile:

FROM node:slim

RUN mkdir nodeapp \
    && apt-get update \
    && apt-get install -y xorg \
    && apt-get install -y xserver-xorg-video-dummy x11-apps

COPY App /nodeapp/

ENV DISPLAY :1

RUN cd nodeapp/ \
    && npm install \
    && Xorg -noreset +extension GLX +extension RANDR +extension RENDER -logfile /nodeapp/xdummy.log -config /nodeapp/xorg.conf start :1 &

ENTRYPOINT [ "node", "/nodeapp/index.js" ]
Run Code Online (Sandbox Code Playgroud)

xorg.conf文件是基本的Xdummy xorg.conf

但是,xserver没有启动,并且日志文件没有提供任何有用的东西,但我确信在Dockerfile中设置Xorg时我做错了什么,但我找不到任何类似的例子.

建议的程序是什么?

headless xserver xorg docker

12
推荐指数
2
解决办法
2710
查看次数

可以使用chrome无头浏览器来保存包含资源的完整网页吗?

我希望使用chrome无头浏览器复制"另存为"功能,以保存包含所有资源的完整网页.有没有办法做到这一点?我尝试了--print-to-pdf和--screenshot选项,并期待探索"另存为"选项.

google-chrome headless headless-browser google-chrome-headless

11
推荐指数
1
解决办法
450
查看次数

如何在OS X上全局设置java系统属性?

短篇故事

我需要一种系统级方法java.awt.headlesstrue 为所有java调用设置属性.也就是说,使用-Djava.awt.headless=true不是一个选项,因为java是从我无法访问的地方调用的(例如来自用Java/C /等编写的另一个工具).

很长的故事

我正在使用一堆用Java编写的工具(特别是Adobe的Air ADT),这些工具依赖于AWT类.当我在控制台上运行这些工具时,它们工作正常.但是,当我从SSH会话中运行它们时,它们会失败java.lang.InternalError: Can't connect to window server - not enough permissions.谷歌搜索我发现将java.awt.headless设置为true将解决问题.它没有,这是因为ADT本身不会 产生儿童Java进程-Djava.awt.headless=true.

是否有任何系统级方法来确保在调用Java时设置此属性?也许一些系统awt属性文件或等价物?

最糟糕的情况我可以尝试替换/usr/bin/java添加此参数的shell脚本,"$@"但我希望避免这种情况.(更新:为了确保我的理论是正确的,尝试这个shell脚本破解它确实解决了问题.只是希望有一个更清洁的解决方案)

java air headless

10
推荐指数
2
解决办法
7560
查看次数

如何登录Puppeteer?

我是javascript和puppeteer的新手.我尝试了下面的登录代码并失败了.相比之下,我添加了pages2并成功了.我怎么解决呢?提前致谢.

const CREDS = require('./creds');

async function main() {
const puppeteer = require('puppeteer');
const browser = await puppeteer.launch({headless: false});

const page = await browser.newPage();
await page.setViewport({width: 1200, height: 720})
await page.goto('https://www.daum.net');
await page.waitForNavigation();
await page.type('#id', CREDS.username);
await page.type('#loginPw', CREDS.password);
await page.click('#loginSubmit');

const page2 = await browser.newPage();
await page2.setViewport({width: 1200, height: 720})
await page2.goto('https://google.com');
await page2.type('#lst-ib', 'Headless Chrome');
}

main();
Run Code Online (Sandbox Code Playgroud)

javascript headless puppeteer

10
推荐指数
3
解决办法
1万
查看次数

忽略证书错误 + 无头木偶师 + 谷歌云

我尝试访问的网站有 ssl证书错误

我正在使用这个版本的 puppeteer "puppeteer": "1.13.0"

当我尝试时,仅在谷歌云await page.goto('http://bad_ssl_certificate_website')上出现超时错误。

超时错误:超出导航超时:

然而,它在 MAC本地运行得非常好。

我认为问题出在我的网站的 ssl-certificate-errors 上,因为如果我尝试使用“google.com”,它在两种环境中都可以正常工作。我使用https://www.sslshopper.com来检查 ssl 证书,它提到了这一点。

并非所有 Web 浏览器都信任该证书。您可能需要安装中间/链证书以将其链接到受信任的根证书。了解有关此错误的更多信息。您可以按照适用于您的服务器平台的 DigiCert 证书安装说明来修复此问题。请注意有关中级证书的部分。

当我使用旧版本的puppeteer时,我在本地也遇到了问题。我看到了完全相同的错误

“超时错误:超出导航超时:”

更新到最新版本的 puppeteer 修复了仅在本地运行 puppeteer 的问题,但尚未修复在google cloud上运行的 puppeteer

这就是我安排木偶师吃午饭的方式。

   const browser = await puppeteer.launch({
      headless: true,
      ignoreHTTPSErrors: true,
      args: [
        "--proxy-server='direct://'",
        '--proxy-bypass-list=*',
        '--disable-gpu',
        '--disable-dev-shm-usage',
        '--disable-setuid-sandbox',
        '--no-first-run',
        '--no-sandbox',
        '--no-zygote',
        '--single-process',
        '--ignore-certificate-errors',
        '--ignore-certificate-errors-spki-list',
        '--enable-features=NetworkService'
      ]
    });
Run Code Online (Sandbox Code Playgroud)

我发现了一些相关问题: https://bugs.chromium.org/p/chromium/issues/detail ?id=877075

headless ssl-certificate chromium google-cloud-functions puppeteer

10
推荐指数
2
解决办法
2万
查看次数

在没有 X11 的 CI 服务上运行 GUI 应用程序

我有一个 GUI 应用程序,我想通过 GitHub Actions 设置测试。我已经进行了设置,以便 GitHub Actions 在 Ubuntu 上编译应用程序,但现在我想做的是运行应用程序几秒钟并测试它是否崩溃。但目前无法启动,因为没有安装X11服务器。

有没有办法可以安装虚拟 X11 服务器,以便应用程序运行?我不关心实际显示的内容,我只是希望应用程序能够打开,而不会因缺少 X11 服务器而失败。

或者,有没有办法安装虚拟 Wayland 服务器?该应用程序也可以在 Wayland 上运行。

x11 user-interface continuous-integration headless github-actions

10
推荐指数
2
解决办法
2914
查看次数

Headless UI 在初始化时打开其中一项披露

我无法打开 2 份披露文件中的其中一份。

下面附上的是试图实现这一目标的内容,当我添加该static道具时,它会无限期地保持打开状态。

在此输入图像描述

headless tailwind-css tailwind-ui headless-ui

10
推荐指数
1
解决办法
7022
查看次数