前言

highlight() 方法是通过高亮显示元素,在调试中有很大优势,可以清楚看到定位的元素所在的位置

遇到的问题

使用示例:点百度页面,定位文本元素“新闻”后点击

from playwright.sync_api import sync_playwright
# 上海悠悠 wx:283340479
# blog:https://www.cnblogs.com/yoyoketang/

with sync_playwright() as p:
    browser = p.chromium.launch(headless=False, slow_mo=2000)
    context = browser.new_context()
    page = context.new_page()
    page.goto('https://www.baidu.com')
    page.get_by_text("新闻").click()

    page.wait_for_timeout(200000)

运行时会报错

从报错日志中你会看到定位到3个元素,导致点击报错。

highlight 高亮调试

为了更清楚的知道当前定位的方式,在页面上找到哪些元素,可以用到highlight() 方法,方便达到调试的目的(仅仅只是调试的时候用)。

from playwright.sync_api import sync_playwright
# 上海悠悠 wx:283340479
# blog:https://www.cnblogs.com/yoyoketang/

with sync_playwright() as p:
    browser = p.chromium.launch(headless=False, slow_mo=2000)
    context = browser.new_context()
    page = context.new_page()
    page.goto('https://www.baidu.com')
    page.get_by_text("新闻").highlight()  # 高亮

    page.wait_for_timeout(200000)

让定位的元素处于高亮状态

这样会发现在屏幕上定位到3个元素(其中有一个是隐藏的元素,也被定位到了)

文章转自:https://www.cnblogs.com/yoyoketang/p/17439398.html