前言

playwright 可以获取元素的属性,元素的文本值,以及input 输入框的内容

  • get_attribute() 获取元素属性
  • inner_text() 元素文本值
  • input_value() 获取输入框的值

获取元素属性和文本值

以百度页面为例

获取div 下第一个a标签元素的属性

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=100)
    context = browser.new_context()  # 创建上下文,浏览器实例

    page = context.new_page()  # 打开标签页

    page.goto("https://www.baidu.com/")
    page.wait_for_load_state("networkidle")
    # div 下第一个a标签
    a1 = page.locator('#s-top-left>a').first
    print(a1.get_attribute('href'))
    print(a1.inner_text())

执行结果

http://news.baidu.com
新闻

获取input 输入框的值

输入框的值,在元素属性中是看不到的

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=100)
    context = browser.new_context()  # 创建上下文,浏览器实例

    page = context.new_page()  # 打开标签页

    page.goto("https://www.baidu.com/")
    page.wait_for_load_state("networkidle")
    # 获取输入框的值
    input1 = page.locator('#kw')
    input1.fill('上海-悠悠')
    print(input1.input_value())

可以通过input_value() 方法获取输入框的内容

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