Selenium CSS选择器抛出OpenQA.Selenium.InvalidSelectorException - 出了什么问题?

时间:2018-04-09 16:32:15

标签: c# selenium selenium-webdriver css-selectors webdriver

我试图在Selenium中使用CSS选择器找到一个表格单元格。这是我的选择器:

//table[@id='prepaymentItemsDataGrid']//tr[@class='tablerowlight']/td[3]

抛出的异常是:

Driver.FindElementByCssSelector("//table[@id='prepaymentItemsDataGrid']//tr[@class='tablerowlight']/td[3]") threw an exception of type 'OpenQA.Selenium.InvalidSelectorException'

我的选择器出了什么问题?我怎么知道Selenium在抱怨什么?

我已经尝试将其简化为:

//table[@id='prepaymentItemsDataGrid']

没有效果。

Selenium是否有不同的执行CSS选择器的方法,如何在尝试运行之前检查选择器是否有效?

1 个答案:

答案 0 :(得分:4)

虽然您尝试使用FindElementByCssSelector()属于 XPath 。您可以使用以下任一定位器策略

  • CssSelector

    Driver.FindElementByCssSelector("table#prepaymentItemsDataGrid tr.tablerowlight > td:nth-of-type(3)");
    
  • XPath

    Driver.FindElementXPath("//table[@id='prepaymentItemsDataGrid']//tr[@class='tablerowlight']/td[3]");