当前位置: 首页 > 知识库问答 >
问题:

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

能可人
2023-03-14

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

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

共有3个答案

越英韶
2023-03-14

你真的没有给我们多少信息来工作。我会尽我所能去适应。即使呈现的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驱动程序。

转到您选择的url。

然后单击具有等于“t-state-selected”类的表行。我猜这是所有表行还是没有表行。

逄边浩
2023-03-14

要点击数字768990192这是动态的,我们必须构造一个CssSelector如下所示:

driver.FindElement(By.CssSelector("tr.t-state-selected td:nth-of-type(2)")).Click();
端木骞尧
2023-03-14

我知道网页链接可能会消失,但在试图找出如何使用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")

这是另一个SO帖子,有一个快速而肮脏的答案。

这里是Selenium关于如何定位UI元素的官方文档。

 类似资料:
  • 我正在用 错误消息: org.openqa.selenium.InvalidSelectorException: 无效选择器: 指定了无效或非法的选择器 (会话信息: chrome=48.0.2564.116) (驱动程序信息: chromedriver=2.19.346078 (6f1f0cde889532d48ce8242342d0b84f94b114a1),platform=Windows

  • 主要内容:1. 通用选择器,2. 标签选择器,3. ID 选择器,4. 类选择器,5. 后代选择器,6. 子选择器,7. 相邻兄弟选择器,8. 通用兄弟选择器,9. 分组选择器,10. 属性选择器选择器由 HTML 元素的 id、class 属性或元素名本身以及一些特殊符号构成,用来指定要为哪个 HTML 元素定义样式。选择器是 CSS 样式规则中重要的组成部分,我们可以将选择器看作是 CSS 样式与 HTML 元素之间的匹配模式,与选择器关联的样式规则会应用于选择器所指定的 HTML 元素上。

  • 我有场景 P/S我已经发现了熟悉的问题(https://github.com/minkphp/minkselenium2driver/issues/200),但降低浏览器版本不会产生影响。 提前感谢!

  • 我正在为一个网站编写一个小的测试脚本,作为测试的一部分,程序需要点击Buttons。我正在使用谷歌chrome驱动程序,我尝试了一些功能,例如:driver。findElement(由.cssSelector()驱动)。但是由于某种原因,程序无法识别定位器。 在图片中,我选择了一个按钮来获取其id或类(很抱歉,该网站是希伯来语的)。 主RunnerClass 步骤定义类 功能文件

  • 和画画一样,我们需要改变局部物体的颜色,我们首先需要定位到那里,有时候我们需要把所有的云朵填充成白色,有时候又需要在某个云朵上加上特别的金色。 类似的,CSS选择器就是用来定义我们想要改变哪些(或哪个)元素的样式。 按定位粒度来分,从大到小有通用标签、类(class)、id以及一些混合选择器。下面我们一一介绍。 通用标签(tag)选择器 使用标签名称可以定位所有的同名标签元素 a{ /* 链接 *

  • 问题内容: 问题: 无法从CSS选择器特定元素中选择。需要验证注册用户是否可以成功更改其密码。我试过了类的不同属性来调用它。当尝试前两个示例时,结果是方法中的异常错误。最后的尝试将调用第一个类实例并重置密码字段(失败)。 尝试过: 目的: 我需要选择共享同一班级的项目。如下所示,该类是共享的。 问题答案: 编辑:因为选择器需要一个,或,但是它们本身都不是。 提供要匹配的类名,并从那里指定要选择的特