在我的网页中,我有以下两个按钮:
<button onclick="addToSelected('newApplicationForm');">Add Strategy</button>
<button onclick="submitAddNewApplication('newApplicationForm');">Submit</button>
如何使用By
类的方法识别它们?
在我的网页中,我有以下两个按钮:
<button onclick="addToSelected('newApplicationForm');">Add Strategy</button>
<button onclick="submitAddNewApplication('newApplicationForm');">Submit</button>
如何使用By
类的方法识别它们?
By.xpath("//button[contains(.,'Add Strategy')]")
By.xpath("//button[contains(.,'Submit')]")
请注意,它与以下内容相同:
By.xpath("//button[contains(text(),'Add Strategy')]")
By.xpath("//button[contains(text(),'Submit')]")
例如...登录按钮在登录屏幕上可用...
//Click on Login
WebElement click = driver.findElement(By.xpath("//*[@id='btnLogOn']"));
click.click();
此处的 xpath 示例将起作用 - 但您也可以使用 css 选择器来匹配“onclick”属性的内容。
By.cssSelector("button[onclick^=addToSelected]")
By.cssSelector("button[onclick^=submitAddNewApplication]")
在这种情况下,我使用了“starts with”属性选择器,但您可以使用“contains”选择器来代替 ( *=
)
是的,正如 Tarun 所说,您可以使用 xpath,但在我们的项目中,开发人员通常需要为每个元素添加 ID。因为,有时 UI 或文本可能会发生变化,那么您必须修改您的测试脚本。