gpt4 book ai didi

python - chromedriver 无法在 ubuntu 服务器的 selenium+pyvirtualdisplay 中正确渲染 html 页面

转载 作者:行者123 更新时间:2023-12-04 19:19:08 27 4
gpt4 key购买 nike

我正在尝试通过使用 selenium 和 chromedriver 与 pyvirtualdisplay 在 Ubuntu 服务器(AWS-EC2)中呈现 HTML 页面。
HTML 页面没有出现在我的 Windows PC 中。
附上从 webdriver 截取的屏幕截图。

在 Windows PC 中呈现的图像

This is the snapshot of HTML as rendered by **Windows**

使用 pyvirtualdisplay 在 Ubuntu 服务器中呈现的图像

This is the snapshot of HTML as rendered by **Ubuntu**

运行我的 python 代码时完成的基本配置(python 代码的片段) -

display_width=1366
display_height=768

分辨率与我的 Windows PC 相同。
UserAgent="Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0"

这是一个标准的用户代理。
def create_driver(executable_path,extension_path):
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--user-agent='+UserAgent)
driver = webdriver.Chrome(executable_path=executable_path, chrome_options=chrome_options)
driver.set_window_size(display_width,display_height
driver.delete_all_cookies()
return driver

此代码创建驱动程序
display = Display(visible=0, size=(display_width, display_height))
display.start()
driver = create_driver(executable_path,extension_path)
input_html_file='SAMPLE'
driver.get('file://///var/tmp/' + input_html_file)

我有一个保存的 HTML 文件,我在驱动程序中打开它 - 这是 SAMPLE。

它与我在 Windows 中打开的 HTML 相同。
正如您在屏幕截图中看到的那样,文本“91 个卖家评论”换行到新行。由于我正在计算这个 block 和其他区域的高度,它会影响我的结果。

该代码在 Windows 中就像一个魅力,给出正确的结果(高度),但在 Ubuntu 中,由于渲染本身不正确,结果也是如此。

这是我迄今为止尝试过的 -
  • 改变显示器的分辨率。不工作。对于任何显示尺寸,屏幕截图看起来都是一样的。
  • 更改字体、字体大小等。没有用。 HTML 中的每个 block 都有不同的 css,所以很痛苦。
  • 换浏览器。在 Firefox 或 Chrome 中均无效

  • 我的想法已经用完了,如果有人分享他们的想法或经验或解决这个问题的方法,那将非常有帮助。

    我知道这可能是图形驱动程序问题,Windows 有一个,但 Ubuntu 服务器没有。

    请帮忙。谢谢,期待中。

    编辑:图像描述。

    最佳答案

    可能是 AWS 实例没有响应显示宽度和高度分配。
    对实际屏幕尺寸进行一些调试。就像你说的,这可能不是你所期望的。

    关于python - chromedriver 无法在 ubuntu 服务器的 selenium+pyvirtualdisplay 中正确渲染 html 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26858742/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com