【问题标题】:Problem with selecting a specific web element with Playwright in Python在 Python 中使用 Playwright 选择特定 Web 元素的问题
【发布时间】:2022-11-04 02:16:59
【问题描述】:

我在使用选择器指定 HTML 输入时遇到问题。

我希望 Playwright 识别 WhatsApp文本框这样我就可以使用它,但是没有 ID,甚至没有我可以指定的 CSS 元素。

起初,我尝试使用DOC 上详述的命令,从网站获取元素。

<div title="Search text box" role="textbox" class="_13NKt copyable-text selectable-text" contenteditable="true" data-tab="3" dir="ltr"></div>

但我无法指定搜索文本框用例子来填写:

element.fill("contact name")

我不知道这是否是语法问题。有没有另一种方法来指定这个元素?

【问题讨论】:

    标签: javascript python html whatsapp playwright


    【解决方案1】:

    问题是,这些不是文本或输入元素,而是divs,在键入时正在更改内部 HTML。 您可以通过在浏览器中打开 WhatsApp、打开开发工具并在字段中输入内容来检查。

    您可以通过 title 属性识别这些 div,因为它们似乎是唯一的://div[@title="Search text box"]

    Playwright 无法更改 div 的内部 HTML,但您可以通过 Javascript 进行更改,由 Playwright 进行评估。

    Javascript 将是(您可以在开发工具的控制台中对其进行评估):

    document.querySelector('div[title^='Search text box']').innerHTML = 'contact name';
    

    要从您的 python 代码中评估它:

    page.evaluate('() => document.querySelector('div[title^='Search text box']').innerHTML = 'contact name'')
    

    有关详细信息,请参阅文档:https://playwright.dev/python/docs/evaluating

    【讨论】:

      猜你喜欢
      • 2021-01-25
      • 2022-01-14
      • 2022-12-06
      • 2020-05-26
      • 2017-09-20
      • 1970-01-01
      • 2019-05-30
      • 1970-01-01
      • 2022-08-20
      相关资源
      最近更新 更多