问题标签 [pyvirtualdisplay]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Selenium - 无头服务器拍摄的屏幕截图图像被破坏
我正在使用 selenium webdriver(Python 版本)在网页加载后拍摄网页图像。当我转到一个页面并在本地计算机上使用 python 脚本保存图像时,它看起来很好。但是,我在服务器上运行脚本并且屏幕截图被破坏 - 边缘可能会因缺少文本而被切断,右侧的横幅可能会以混乱的方式推到底部,等等。我什至尝试最大化窗户
在服务器上,我无法在有头版本中加载 firefox,并且必须在运行 selenium 之前/之后手动启动/停止脚本中的显示
所以我认为这可能与我的显示器设置有关。
有人对如何解决这个问题有任何想法吗?谢谢
python-2.7 - Selenium Pyvirtualdisplay 在启动时挂起
我有一个硒测试,我试图在我的 ubuntu 服务器上无头运行。它使用 pyvirtualdisplay 和 xephyr。尽管该脚本在我的本地系统中运行良好,但当我在服务器中运行它时它会挂起。我试图清除内存并重新启动服务器。但没有运气。脚本看起来像这样:
有什么帮助吗?
python - chromedriver 无法在 ubuntu 服务器的 selenium+pyvirtualdisplay 中正确渲染 html 页面
我正在尝试通过使用 selenium 和 chromedriver 与 pyvirtualdisplay 在 Ubuntu 服务器(AWS-EC2)中呈现 HTML 页面。HTML 页面没有出现在我的 Windows PC 中。附上从 webdriver 截取的屏幕截图。
在 Windows PC 中呈现的图像
使用 pyvirtualdisplay 在 Ubuntu 服务器中呈现的图像
运行我的 python 代码时完成的基本配置(python 代码的片段) -
分辨率与我的 Windows PC 相同。
这是一个标准的用户代理。
此代码创建驱动程序
我有一个保存的 HTML 文件,我在驱动程序中打开它 - 这是 SAMPLE。
它与我在 Windows 中打开的 HTML 相同。正如您在屏幕截图中看到的那样,文本“91 个卖家评论”换行到新行。由于我正在计算这个块和其他区域的高度,它会影响我的结果。
该代码在 Windows 中就像一个魅力,给出正确的结果(高度),但在 Ubuntu 中,由于渲染本身不正确,结果也是如此。
这是我迄今为止尝试过的 -
- 改变显示器的分辨率。不工作。对于任何显示尺寸,屏幕截图看起来都是一样的。
- 更改字体、字体大小等。没有用。HTML 中的每个块都有不同的 css,所以很痛苦。
- 换浏览器。在 Firefox 或 Chrome 中都不起作用
我的想法不多了,如果有人分享他们的想法或经验或解决这个问题的方法,那将非常有帮助。
我知道这可能是图形驱动程序问题,Windows 有一个,但 Ubuntu 服务器没有。
请帮忙。谢谢,期待中。
编辑:图像描述。
python - Selenium 启动的 Firefox 忽略了 pyvirtualdisplay 创建的显示
pyvirtualdisplay
我在创建我的WebDriver
实例之前开始显示。如果我使用 Chrome,它可以正常工作:Chrome 显示在pyvirtualdisplay
创建的 Xephyr 实例中。但是,当我使用 Firefox 时,会出现 Xephyr 实例,但 Firefox 会出现在它之外。
这是完全重现该问题的代码:
上面的代码是更复杂的代码的最小版本(这解释了看似无用的FirefoxBinary()
)。
selenium - selenium plus pyvirtualdisplay 在 digitalocean ubuntu 液滴上不起作用
作为标题,以下内容不适用于digitalocean ubuntu droplet,但适用于我的本地计算机。所有的软件都是一样的。
它只是挂在那里。
谁能给我一些线索?非常感谢。我到处搜索,找不到任何有用的信息。
python - Amazon EC2 实例上的 pyvirtualdisplay
我正在尝试在 Amazon EC2 上运行 selenium。我使用 pyvirtualdisplay 作为 xvfb 包装器。我在 python 中运行了以下命令。
到目前为止一切都很好。
但是当我这样做时:
我收到此错误:
python - Python从一个循环中打开多个显示窗口
今天我从社区中得到了一些很大的帮助,希望有人能在这个小家伙上让我朝着正确的方向前进。
我有一个循环,我试图加载许多不同的网页,但目前同一个网页正在不同的窗口中打开。
如何在单独的显示器中打开它们?有没有办法给显示器贴标签?
已编辑
为了改善答案,我编写了一个快速脚本来尝试加载显示到不同网页的两个不同显示,但它会在同一个窗口中加载两个网页
已编辑
我认为问题在于脚本在端口上打开了一个 xephyr 会话,然后 chrome 驱动程序只会与该会话对话,那么您可以为每个driver.get("")
请求打开多个 xephyr 会话吗?
python - Ubuntu 上的 Python Selenium Firefox:新标签不起作用
我正在进行远程网络抓取和抓取,并希望不要为一页上的每个链接重新加载新的浏览器窗口。
问题是我的 Firefox Web 驱动程序没有打开新标签。
这是我尝试过的:
规格:
- Ubuntu 14.04.2
- Python 2.7.6
- 硒 2.47.1
- PyVirtualDisplay 0.1.3
python - 使用带有 pyvirtualdisplay 的剪贴板
我有一个在 pyvirtualdisplay 中运行的脚本,我需要一个复制到剪贴板的变量值。
以下作品(我的脚本的简化版本):
以下不起作用:
尝试在 pyvirtualdisplay 中运行剪贴板时遇到的错误如下:
请帮忙 :)
python - easyprocess.EasyProcessCheckInstalledError: cmd=['Xvfb', '-help'] OSError=[Errno 2] 没有这样的文件或目录
我正在尝试设置显示器,但它告诉我No such file or directory
。