使用Playwright for Python,如何选择或查找元素?

问题描述

我正在尝试学习Playwright的Python版本。参见here

我想学习如何定位元素,以便我可以 事情。就像打印内部HTML一样,单击它等等。

下面的示例加载页面并打印HTML

from playwright import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(headless=False)
    page = browser.newPage()
    page.goto('http://whatsmyuseragent.org/')
    print(page.innerHTML("*"))
    browser.close()

页面包含一个元素

<div class="user-agent">
    <p class="intro-text">Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/86.0.4238.0 Safari/537.36</p>
</div>

使用硒,我可以找到元素并像这样打印它的内容

elem = driver.find_element_by_class_name("user-agent")
print(elem)
print(elem.get_attribute("innerHTML"))

我如何在Playwright中做同样的事情?

解决方法

您可以使用querySelector函数,然后调用innerHTML函数:

handle = page.querySelector(".user-agent")
print(handle.innerHTML())
,

根据最新官方 python version Playwright,您应该使用:

-> 代码:

df['height_final'] = df.groupby('x')['height_v2'].transform(np.median)