查找Selenium C#的CSS选择器路径

时间:2017-11-20 01:00:34

标签: c# css selenium

我是Selenium C#automation的新手。尝试在网上找到但没有得到任何帮助。 HTML代码看起来像这样。我需要找到该元素,然后使用CSS单击它。该网站仅在IE上运行。

    <tbody>
    <tr class="t-state-selected">
    <td>Purchased</td>
    <td class="">768990192</td>

3 个答案:

答案 0 :(得分:1)

我知道网络链接可能会消失,但是在尝试使用Selenium的C#WebDriver找出如何定位元素时,我会使用一些:

https://automatetheplanet.com/selenium-webdriver-locators-cheat-sheet/

https://saucelabs.com/resources/articles/selenium-tips-css-selectors

https://www.packtpub.com/mapt/book/web_development/9781849515740/1

底线是您通过id,class或XPath进行选择。可以使用F12浏览器工具直接在页面上测试其中的每一个。例如,要查找上述问题的第一条评论,您可以在控制台中尝试:

$x("//div[@id='mainbar']//tbody[@class='js-comments-list']/tr")

Here's another SO post with a quick and dirty answer

here is the official documentation from Selenium on how to locate UI elements

答案 1 :(得分:1)

要点击动态数字 768990192 ,我们必须按如下方式构建CssSelector

driver.FindElement(By.CssSelector("tr.t-state-selected td:nth-of-type(2)")).Click();

答案 2 :(得分:0)

你真的没有给我们很多工作信息。我会尽力适应。尽管提供的HTML不足以显示格式,但您没有提供当前解决方案的任何代码。

string url = "https://www.google.com";
IWebDriver driver = new InternetExplorerDriver();
driver.Navigate().GoToUrl(url);
driver.FindElement(By.XPath("//tr[@class='t-state-selected']")).Click();

这个小代码片段。

创建Internet Explorer驱动程序。

转到您选择的网址。

然后单击具有等于&#34; t-state-selected&#39;的类的表行。我的猜测是全部或没有表行。