【问题标题】:Select <li> elements from div/ul从 div/ul 中选择 <li> 元素
【发布时间】:2021-07-03 16:48:16
【问题描述】:

我正在学习 selenium/C#/Nunit 尝试编写选择 li 的测试。 [元素]

这是我的代码:

dropdown= driver.FindElement(By.XPath(".//div[@class='listview listview-scroll']/ul/li[@id='ext-gen1043']"));
dropdown.Click();

我收到了Selenium.NoSuchElementException nessage。

我也尝试过Thread.Sleep(10000);,但我无法解决这个问题。

【问题讨论】:

  • 截图中没有ext-gen1043 id的li元素。您可以在 DevTools 中右键单击该元素并复制其 xpath,它可能会帮助您正确构建自己的元素。此外,从命名来看,可能会生成这些。
  • 感谢 T.s 的评论。你是对的。我正在学习,宝贝步骤:)

标签: c# selenium nunit crm


【解决方案1】:

使用css 选择器:

dropdown= driver.FindElement(By.CssSelector("li[data-item-marker=Defense]"));  // the same way find all other li you need

ext-gen1043 是动态生成的。永远不要使用这样的定位器。即使在您的屏幕截图上,定位器也已更改。

此外,一旦您了解如何使用隐式/显式等待,请立即摆脱 Thread.Sleep(10000)。使用Sleep 是不好的做法。

【讨论】:

  • 你救了我。非常感谢您的指导,我一定会了解隐式/显式等待。
猜你喜欢
  • 2019-02-05
  • 2019-08-15
  • 1970-01-01
  • 2020-02-01
  • 1970-01-01
  • 2022-12-05
  • 1970-01-01
  • 1970-01-01
  • 2012-08-12
相关资源
最近更新 更多