playwright联合定位
_and
更新于1.34版本
方法 locator.and_() 通过匹配其他定位器来缩小现有定位器的范围。
例如,您可以将 page.get_by_role() 和 page.get_by_title() 组合在一起,以按标题和标签角色进行匹配。
button = page.get_by_role("button").and_(page. get_by_title("Subscribe"))
_or
如果要定位两个或多个元素中的一个,并且不知道它将是哪个元素,请使用 locator.or_() 创建与任何替代元素匹配的定位器。
官方示例:您想单击“新电子邮件”按钮,但有时会显示安全设置对话框。在这种情况下,您可以等待“新电子邮件”按钮或对话框并采取相应措施。
new_email = page.get_by_role("button", name="New")
dialog = page.get_by_text("Confirm security settings")
expect(new_email.or_(dialog)).to_be_visible()
定位一个元素的父元素
page.get_by_text("product 1").locator("..") # 定位到文本是product 1的元素的父元素