ai didi

c# - 使用 XPATH 或 CSS 选择器在 Selenium 中查找元素

转载 作者:行者123 更新时间:2023-12-01 22:17:12 24 4
gpt4 key购买 nike

我正在尝试在 C# 中使用 Selenium Webdriver 查找“导入”元素。已尝试以下代码但没有找到它。

driver.FindElement(By.XPath("//*[@class='menu_bg']/ul/li[3]")).Click();
driver.FindElement(By.XPath("//*[@id='import']/a")).Click();
driver.FindElement(By.CssSelector("#import>a")).Click();
driver.FindElement(By.XPath("//*[@class='menu_bg']/ul/li[3]/a")).Click();
driver.FindElement(By.CssSelector("ul[@class='menu_bg']>li[value='3']")).Click();

请帮帮我。设计页面如下所示:

<body>
<div class="header_bg"></div>
<div class="menu_bg">
<ul class="menu">
<li id="retrieve"></li>
<li id="scan" class="test"></li>
<li id="import">
<a target="main" href="import/import.aspx" onclick="clickme(this,'import')">Import</a>
</li>
<li id="admin"></li>
<li id="help"></li>
<li style="float: right;"></li>
</ul>
</div>
</body>

我一直收到如下错误:

unable to find the element

最佳答案

XPath 索引器是从 1 开始的,而大多数其他语言是从 0 开始的。

这意味着您实际上定位的是 2nd li 元素,该元素没有 anchor 元素。

所以:

//*[@class='menu_bg']/ul/li[3]/a

但是,这个 XPath 查询不是很好,而且对位置太严格 - 因此,尽管上面这个新修复的 XPath 应该 可以工作,但我建议您考虑其他方法。

关于c# - 使用 XPATH 或 CSS 选择器在 Selenium 中查找元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24120263/

24 4 0
文章推荐: c# - asp.net core (3+) CreateScope() 上的共享上下文
文章推荐: java - 如何使用字符串参数 s 来创建带有参数名称的新 LinkedList?
文章推荐: c# - PerfView GC 触发原因
文章推荐: java - 我们可以使用 Java 中的 Tabula 提取 PDF 表格之间的文本吗?
行者123
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com