【问题标题】:Selenium WebDriver not recognizing an element, tried many options?NoSuch element exception coming?Selenium WebDriver 不识别元素,尝试了很多选项?没有这样的元素异常来?
【发布时间】:2016-01-16 03:35:23
【问题描述】:

售票员 2 - 70002 - 15000038

<option class="LstOptSel_sun4" dojoattachpoint="optionNode" value="41" label="Ticket Operator 2 - 70002 - 15000038">Ticket Operator 2 - 70002 - 15000038</option>

【问题讨论】:

  • 记录是动态创建的。
  • 你能分享那部分的HTML代码和你写的webdriver代码吗?

标签: java css-selectors webdriver


【解决方案1】:

如果“LstOptSel_sun4”类是唯一的,那么您可以使用两个不同的定位器来查找元素,并且您说这是动态的,因此请确保隐式等待该特定元素。

选项1:按类名

driver.findElement(By.className("LstOptSel_sun4"));

选项 2:通过 Xpath。

driver.findElement(By.xpath("//*[@class='LstOptSel_sun4'")) ;

也可以使用以下代码进行显式等待

WebDriverWait 等待 = 新 WebDriverWait(驱动程序,100); wait.until(ExpectedConditions.presenceOfAllElementsLocatedBy(By)); driver.findElement(By);

希望这对您的问题有所帮助。

【讨论】:

    【解决方案2】:

    那么你想做的事情很少。

    1. 确保元素不在 iframe 中
    2. 如果这是唯一的元素,我会使用带有正则表达式的 css。如[ label^='Ticket Operator 2']
    3. #2 也可以使用基于文本的 xpath 来完成。 //option[contains(text(),'Ticket Operator 2')]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-31
      • 1970-01-01
      相关资源
      最近更新 更多