当前位置: 首页 > 编程语言 > C#

使用XPATH或CSS Selector在Selenium中查找元素分享

时间:2023-04-10 22:42:52 C#

C#学习教程:使用XPATH或CSS选择器在Selenium中查找元素尝试了以下代码,但没有找到。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();请帮我。设计页面如下所示:导入我不断收到这样的错误:无法找到元素XPath索引器是基于1的,而大多数其他语言都是基于0的。这意味着您实际上是针对第二个li元素,它没有锚元素。所以://*[@class='menu_bg']/ul/li[3]/a但是,这个XPath查询不是很好而且位置限制太多-所以虽然上面这个新修复的XPath应该可以工作,但我推荐你想要别的东西。通过查看此链接(感谢@Arran),上述问题已解决。“切换”到当前IFrame指示Selenium显示对该框架的任何请求。driver.SwitchTo().Frame()您可以通过链接Selenium的“FindElement”来做到这一点;driver.FindElement(By.Id("import")).FindElement(By.TagName("a"));这将为您提供ID标记为“a”的元素的子元素。另一种方式是将Driver转为IJavascriptExecutor,使用JQuery选择器直接在浏览器中执行javascript。我发现这对于更复杂的Selenium查找效果更好;((IJavascriptExecutor)Driver).ExecuteScript("$("a[target='main'][href='import/import.aspx'])").click();以上是C#学习教程:使用XPATH或CSSSelector查找Selenium中元素分享的所有内容。代表立场,如涉及侵权,请点击右侧联系管理员删除。如需转载,请注明出处: