【问题标题】:How can I fetch the html elements within a bounding box using playwright?如何使用 playwright 在边界框中获取 html 元素?
【发布时间】:2022-01-17 17:07:18
【问题描述】:

我有一个用 playwright 拍摄的整页屏幕截图和一个对象检测模型,它返回一些边界框坐标。我想获取包含在边界框中的相应 html 元素的文本。

到目前为止,我正在使用 Playwright 的 Python API,如下所示:

with sync_playwright() as p:
     browser = p.webkit.launch()
     page = browser.new_page()
     page.goto(url)     
     element_text = page.evaluate("([x, y]) => document.elementFromPoint(x,y).textContent",
                                   [bbox_x_center, bbox_y_center])

但似乎找不到页面下方的坐标。是否有可能较低的元素不在视口中,我需要向下滚动才能找到它们? 一般来说,有没有一种更简单的方法可以从屏幕截图中检索边界框中感兴趣的元素句柄?

【问题讨论】:

    标签: javascript python web-scraping computer-vision playwright


    【解决方案1】:

    正如文档所说的 document.elementFromPoint:https://developer.mozilla.org/en-US/docs/Web/API/Document/elementFromPoint

    如果指定的点在文档的可见范围之外,或者任一坐标为负,则结果为空。

    所以你可以在 window.scrollTo 之前使用它应该修复它:https://developer.mozilla.org/en-US/docs/Web/API/Window/scrollTo

    【讨论】:

      猜你喜欢
      • 2013-09-17
      • 1970-01-01
      • 1970-01-01
      • 2014-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多