接上回,可以使用 playwright inspector 来进行脚本录制。今天就说下具体的录制步骤。
playwright inspector 都会显示出来。
1.点击 Playwright Inspector中的 Record按钮,开始录制
2.点击 Record按钮后,Record按钮显示为红色,代表已经开始录制了。这时将鼠标移动到要测试的浏览器+地址,就会展示出对应元素的 name 并且是以代码形式的,如下图
3.点击需要测试的元素,在 Playwright Inspector上就会展示对应的代码,如下图
Target处可以选择代码的语言,如下图
这次我们选择的是java语言,点击 copy按钮,就可以将代码全部复制出来,粘贴到idea中。如下列代码
// public void test01(){// try (Playwright playwright = Playwright.create()) {// Browser browser = playwright.chromium().launch(new BrowserType.LaunchOptions()// .setHeadless(false));// BrowserContext context = browser.newContext();// Page page = browser.newPage();// Page page1 = page.waitForPopup(() -> {// page1.frameLocator("div >> internal:has-text=\"网易 有态度 网络监督专区\"s >> iframe").getByRole(AriaRole.LINK).click();// });// page1.getByText("网易 有态度 网络监督专区").click();// Page page2 = page.waitForPopup(() -> {// page2.getByRole(AriaRole.LINK, new Page.GetByRoleOptions().setName("外媒述评:西方对华“去风险”本身就是大风险")).click();// });// Page page3 = page.waitForPopup(() -> {// page.getByRole(AriaRole.LINK, new Page.GetByRoleOptions().setName("广东6男孩被骗到缅甸失联20余天 警方:手机均关机")).click();// });// }// }
一般复制出来的代码想在编辑器里正常运行是比较难的,可能会有一些报错。上面的代码也不例外。可以看到参数就会有一些问题,需要我们来修改下。
这里也说下Playwright Inspector的缺点,就是不能保存。当然了,这也不是什么大问题,代码直接放到编译器里就可以了。
Record前可以点击 Pick locator来查看元素的 Role
getByRole('link', { name: '无障碍浏览' })
4.再次点击 Record后,录制停止,代码显示在 Inspector中。点击 Inspector中的Resume , 在windows上会闪退,具体原因待查。目前百度后还没有结果。貌似使用过的还没有发现这个问题。
5.如果定位元素不顺,可以打开浏览器中的检查,查看对应的 xpath是否正确。可以在代码中启动浏览器时加入下列代码:
Browser browser = browserType.launch(new BrowserType.LaunchOptions().setHeadless(false).setChannel("chrome").setDevtools(true));
使用下来感觉作用不大,浏览器可以直接通过F12来打开检查。
总结一下:
录制脚本的代码比较鸡肋,当你对这个框架熟悉可用时,就不需要这个功能了。Resume按钮功能闪退的问题,就继续跟进下去,争取下周看看能不能解决。好了,今天先这样了
标签:Playwright,回访,代码,录制,page,点击,Page From: https://blog.51cto.com/u_11894/6401181