软件测试|web自动化测试神器playwright教程(三十八)

在这里插入图片描述

简介

在我们使用selenium时,我们可以获取元素的属性,元素的文本值,以及输入框的内容等,作为比selenium更为强大的web自动化测试神器,playwright也可以实现对元素属性,文本值和输入框内容的抓取,并且实现比selenium更为简单,本文我们就为大家介绍一下使用playwright获取元素属性,元素文本值以及输入框内容的方法。

获取元素属性和文本值

在selenium中,我们可以通过get_attribute()获取元素属性,通过inner_text()获取元素文本值,现在我们来介绍一下如何使用playwright来获取元素属性和文本值,我们以百度页面为例,如下图所示:

在这里插入图片描述
我们可以看到左上方有多个a标签,现在我们来获取一下某一个标签的属性以及文本值,代码如下:

from playwright.sync_api import sync_playwright



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标签
    ele1 = page.locator('#s-top-left>a').first
    print(ele1.get_attribute('href'))
    print(ele1.inner_text())

---------
运行脚本,输出结果如下:
http://news.baidu.com
新闻

获取input输入框中的值

我们在输入框输入的值,在页面中是无法实时显示的,如下图:

在这里插入图片描述

要获取在输入框输入的值,代码如下:

from playwright.sync_api import sync_playwright



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")
    # 获取输入框的值
    input = page.locator('#kw')
    input.fill('playwright')
    print(input.input_value())
-----------
输出结果如下:
playwright

总结

本文主要介绍了使用playwright获取元素属性,文本内容以及输入框内容的方法,根据具体的需求,我们可以进一步扩展这些操作以进行更复杂的浏览器自动化任务。希望这篇文章对大家有所帮助!

猜你喜欢

转载自blog.csdn.net/Tester_muller/article/details/132692784