playwright-getByAltText

一、getByAltText定位的作用

所有图片都应有一个描述图片的 alt 属性。你可以使用 page.getByAltText() 根据替代文本定位图片。

可以看下如下html

要获取图片 alt 属性 playwright logo的img的定位,可以使用:

java 复制代码
page.getByAltText("playwright logo")

二、举个例子:

①先创建工具类
复制代码
TestPlayWright
java 复制代码
import com.microsoft.playwright.*;
import com.microsoft.playwright.options.AriaRole;
import com.microsoft.playwright.options.ServiceWorkerPolicy;
 
import java.util.ArrayList;
import java.util.List;
 
public class TestPlayWright {
    public Playwright playwright;
    public Browser browser;
    public BrowserContext context;
    public Page page;
    public int slowMo = 200;
    public boolean headless = false;
    public String bowserName = "CHROMIUM";
 
    public Page getPage() {
        return page;
    }
 
    public void init(){
        List<String> argslist = new ArrayList<String>();
        argslist.add("--window-position=" + -8 + "," + 0);
 
        playwright = Playwright.create();
        switch (bowserName) {
            case "CHROMIUM":
                browser = playwright.chromium().launch(new BrowserType.LaunchOptions().setArgs(argslist)
                        .setHeadless(headless)
                        .setSlowMo(slowMo));
                break;
            case "FIREFOX":
                browser = playwright.firefox().launch(new BrowserType.LaunchOptions()
                        .setHeadless(headless).setArgs(argslist)
                        .setSlowMo(slowMo));
                break;
            case "WEBKIT":
                browser = playwright.webkit().launch(new BrowserType.LaunchOptions()
                        .setHeadless(headless).setArgs(argslist)
                        .setSlowMo(slowMo));
                break;
        }
        assert browser != null;
        Browser.NewContextOptions contextOpts = new Browser.NewContextOptions()
                .setServiceWorkers(ServiceWorkerPolicy.BLOCK);  // 屏蔽所有 Service Worker
        context = browser.newContext(contextOpts);
//        # 2. 清除当前上下文的所有 Cookie(推荐)
        context.clearCookies();
        page = context.newPage();
    }
    public void browserClose(){
        if(browser!=null){
            browser.close();
        }
    }
    public void playwrightClose() {
        if(playwright!=null){
            playwright.close();
        }
    }
 
 
}
②创建TestGetByAltText类
java 复制代码
import com.microsoft.playwright.Locator;
import com.microsoft.playwright.Page;


public class TestGetByAltText {
    public static void main(String[] args)  {
        TestPlayWright test = new TestPlayWright();
        test.init();
        Page page = test.getPage();

        page.navigate("https://playwright.nodejs.cn/docs/locators");
        page.waitForTimeout(2000);
        //定位alt="playwright logo" 的定位标签 nth(1)代表第2个
        Locator altText = page.getByAltText("playwright logo").nth(1);
        //点击
        altText.click();
        //等待1秒
        page.waitForTimeout(2000);
        //高亮定位
        altText.highlight();
        //等待1秒
        page.waitForTimeout(5000);
        test.browserClose();
        test.playwrightClose();
    }
}
③运行效果:
三、通过葫芦娃ui自动化工具操作
①打开葫芦娃ui自动化工具
②加载对应step.xlsx和data.xlsx
③step.xlsx配置如图:

case sheet输入如下

④创建对应sheet playwright-getByAltText 如下,定位方法选择 getByAltText:
⑤切换到工具,点击运行:

⑥生成的报告如下:

运行效果和上面一样

完全零代码,直接维护excel 就行,谢谢大家的支持,可以点个赞或转发。谢谢大家~

想要工具可以私聊哈~

相关推荐
<小智>14 小时前
鸿蒙多功能工具箱开发实战(二十)-性能优化与打包发布
ui·华为·harmonyos
薛定谔的猫-菜鸟程序员19 小时前
一个 Skill 如何让大模型拥有专业 UI 能力?——ui-ux-pro-max 架构深度拆解与 Skill 设计方法论
人工智能·ui
<小智>1 天前
鸿蒙多功能工具箱开发实战(十二)-二十四节气与黄历数据展示
ui·华为·harmonyos
qizayaoshuap2 天前
# [特殊字符] 手电筒 — 鸿蒙ArkTS设备功能调用与UI交互设计
ui·华为·交互·harmonyos
cll_8692418912 天前
一个好看的Wordpress博客文字css样式
前端·css·ui
johnny2332 天前
UI新革命?GenUI、WanDB-OpenUI、thesysdev-OpenUI、A2UI、AG-UI、MCP-UI
ui
天天进步20152 天前
UI-TARS 源码解析 #10:parse_action 源码解析:如何用 AST 安全解析模型生成的函数调用?
安全·ui
FuckPatience3 天前
Telerik UI for WPF 值不能为null。参数名:key
ui·wpf
breeze jiang3 天前
从原生事件到 React 组件化:用状态驱动模型加载进度 UI
前端·react.js·ui
JaneConan4 天前
鸿蒙 ArkUI 深水区:@Watch 和 @Observed,状态变了「自动跑」+ 嵌套对象「深层重绘」
开发语言·后端·ui·harmonyos