【问题标题】:Get webpage element -> return element + css style -> render element locally?获取网页元素->返回元素+ css样式->本地渲染元素?
【发布时间】:2020-12-08 23:03:50
【问题描述】:


我想本地渲染单个网页元素。让我们使用上面的谷歌搜索栏的例子......

我可以使用 python-requests 或 bs4 轻松地返回元素及其属性。元素 HTML 如下所示:

<input class="gLFyf gsfi" maxlength="2048" name="q" type="text" jsaction="paste:puy29d" 
aria-autocomplete="both" aria-haspopup="false" autocapitalize="off" autocomplete="off" autocorrect="off" 
autofocus="" role="combobox" spellcheck="false" title="Search" value="" aria-label="Search" 
data-ved="0ahUKEwjj48bGtL_tAhW9yzgGHbDdBmMQ39UDCAU">

问题

现在我有了这个元素:

  • 我怎样才能返回它的计算样式? (它的样子)
  • 我想以编程方式执行此操作(即通过 Python(理想情况下)或 JS)


为什么?我希望能够完全按照它在 google.com 上的显示/外观重新创建元素,但是在本地 HTML 文件中。然而,职位等并不重要。

我不想使用 Selenium 或任何其他完整的浏览器工具

【问题讨论】:

    标签: javascript python html css python-requests


    【解决方案1】:

    要获得元素的样式,您必须导入页面上的所有 CSS。

    所以你想做一个 GET 请求并用 BS4 解析它,然后 grep 页面上的所有 &lt;style&gt; 标签,然后添加一个 &lt;base href&gt; 标签将页面上的基本 URL 更改为 Google (以便相对链接仍然有效)。

    【讨论】:

    • 感谢@isopach,这似乎是最好的方法
    猜你喜欢
    • 2017-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-20
    • 2021-12-21
    • 2020-11-28
    相关资源
    最近更新 更多