page.getByRole(AriaRole.MENUITEM, new Page.GetByRoleOptions().setName("山东省 ")).locator("span").click(); 使用java 和 playwright 如何封装
时间: 2024-10-27 13:08:59 浏览: 21
在Java中使用Playwright(一个流行的Node.js库,但也提供了Java API)封装这个操作,你可以创建一个专门的方法来简化这个页面元素交互的过程。首先确保你已添加了Playwright Java库到项目中,并导入相关的依赖。下面是一个简单的封装示例:
```java
import com.microsoft.playwright.*;
public class PlaywrightUtils {
private final Browser browser;
public PlaywrightUtils(Browser browser) {
this.browser = browser;
}
// 封装点击菜单项的方法
public void clickMenuItem(String roleName, String name) {
try (Page page = browser.newPage()) {
// 使用roleName和name筛选菜单项
Element element = page.getByRole(roleName, Page.getByRoleOptions().setName(name));
// 检查元素是否存在并点击
if (element != null) {
element.locator("span").click();
} else {
throw new NoSuchElementException("Menu item with role '" + roleName + "' and name '" + name + "' not found.");
}
}
}
}
// 在需要的地方调用封装好的方法
public void main() {
Browser browser = Playwright.create().newChromiumBrowser();
Page page = browser.newPage();
// 初始化PlaywrightUtils实例
PlaywrightUtils utils = new PlaywrightUtils(page);
// 调用clickMenuItem方法
utils.clickMenuItem(AriaRole.MENUITEM, "山东省 ");
}
```
在这个例子中,`clickMenuItem`方法接受角色名称(如`ARIA_ROLE.MENUITEM`)和名字作为参数,内部实现了找到对应的元素并点击的操作。
阅读全文