page.getByRole(AriaRole.MENUITEM, new Page.GetByRoleOptions().setName("山东省 ")).locator("span").click(); java playwright 如何封装
时间: 2024-11-12 14:18:49 浏览: 11
Android 自带图标库
这个JavaScript代码片段使用Playwright库(一个Node.js库用于浏览器自动化测试)来操作网页元素。它首先通过`page.getByRole()`方法找到一个角色为`ARIA_ROLE.MENUITEM`的菜单项,然后进一步定位到其内部的一个`span`元素,并点击它。为了更好地封装这种操作,你可以将其放在一个函数里,例如:
```javascript
import { Page, Locator } from 'playwright';
async function clickMenuItem(page, roleName, menuName, elementLocator) {
const menuItem = await page.getByRole(roleName, {
name: menuName,
options: new Page.GetByRoleOptions()
});
const spanElement = await menuItem.locator(elementLocator);
return await spanElement.click();
}
// 使用示例
const context = await page.newContext(); // 创建一个新的浏览器上下文
await context.bringToFront(); // 将页面置于前台
try {
await clickMenuItem(context.page, 'AriaRole.MENUITEM', '山东省', 'span');
} finally {
await context.close(); // 关闭浏览器上下文
}
```
这里创建了一个名为`clickMenuItem`的函数,接受`page`对象、角色名、菜单名称和元素定位器作为参数,封装了整个操作流程。在实际使用时,只需要传入对应的数据即可。
阅读全文