我正在尝试使用Selenium进行一些自动化测试,但是我遇到了问题。我希望能够按下一个特殊按钮,但是此按钮没有ID
或Class
,这是我尝试寻找的第一件事。
我认为我需要使用CssSelector
,但是我应该怎么写才能在测试中找到正确的按钮?
driver.FindElement(By.CssSelector(??))
答案 0 :(得分:2)
您可以将同级<table>
id
用作起点
driver.FindElement(By.CssSelector("#tbl_bestallningslita ~ button"));
或使用onclick
属性(部分)
driver.FindElement(By.CssSelector("[onclick*='btn_taBort']"));
答案 1 :(得分:1)
以下任何CSSLocators都应提供帮助:
button[accessKey="T"]
OR
button[onclick="folkbokforing_form.btn_taBort.click()"]
答案 2 :(得分:0)
您也可以使用xpath,尽管xpath比cssselector慢得多,但xpath比cssselector更具灵活性。
driver.findElement(By.XPath("*//button[@onclick='folkbokforging_form.btn.taBort.click()']"));
或结合使用两个归因的xpath,
driver.findElement(By.XPath("*//button[@accesskey='T' and contains(@onlcinck,'btn_taBort.click()')]");