用硒找不到CssSelector

时间:2018-10-16 08:07:19

标签: c# selenium selenium-webdriver

我正在尝试使用Selenium进行一些自动化测试,但是我遇到了问题。我希望能够按下一个特殊按钮,但是此按钮没有IDClass,这是我尝试寻找的第一件事。

我认为我需要使用CssSelector,但是我应该怎么写才能在测试中找到正确的按钮?

driver.FindElement(By.CssSelector(??))

enter image description here

3 个答案:

答案 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()')]");