【问题标题】:org.openqa.selenium.support.ui.UnexpectedTagNameException: Element should have been "select" but was "title"org.openqa.selenium.support.ui.UnexpectedTagNameException:元素应该是“选择”但是“标题”
【发布时间】:2017-03-16 21:39:55
【问题描述】:

我的应用程序有一个下拉菜单,其中显示了批处理运行的时间 <span class="select2-selection__rendered" id="select2-siTime-container" title="10 AM - 11 AM">10 AM - 11 AM</span> 单击下拉列表旁边的下拉列表后,我将获得要选择的值。

<ul class="select2-results__options ps-container ps-theme-default ps-active-y" role="tree" id="select2-siTime-results" aria-expanded="true" aria-hidden="false" data-ps-id="e0656a98-863d-cab8-ceca-763253acd3a0">
  <li class="select2-results__option" id="select2-siTime-result-sl6p-TIME_6" role="treeitem" aria-selected="false">6 AM - 7 AM</li>
  <li class="select2-results__option" id="select2-siTime-result-ogb9-TIME_7" role="treeitem" aria-selected="false">7 AM - 8 AM</li>
  <li class="select2-results__option" id="select2-siTime-result-wx7b-TIME_8" role="treeitem" aria-selected="false">8 AM - 9 AM</li>

当我尝试选择下拉菜单时,我看到了错误

元素应该被选中,但标题是

我的代码:

Select mycombo = new Select(driver.findElement(By.tagName("title")));
driver.findElement(By.xpath("//*[@aria-labelledby='select2-siTime-container']/span[2]")).click();
Thread.sleep(8000);
mycombo.selectByIndex(4);

【问题讨论】:

  • 如果您的问题仍未解决,您能否提供更多信息如下?
  • 1.请从 HTML DOM 添加更多代码。 2.您要选择哪个值? 3. 你能确认它是简单的 Dropdown 还是模态的 Dropdown ? 4. 可以加个Dropdown的快照吗?

标签: java selenium selenium-webdriver webdriver


【解决方案1】:

Select 类只能用于&lt;select&gt; 标签。要从此下拉列表中选择一个选项,请单击它,然后单击该选项。类似的东西

WebElement dropdown = driver.findElement(By.id("select2-siTime-results"));
dropdown.click();
List<WebElement> options = dropdown.findElements(By.className("select2-results__option"));
options.get(4).click();

【讨论】:

  • Guy - 我尝试更改 get() - webelement 列表,但它总是只单击一个选项。 ?如果我输入 get(3) 即使那么它在 li 类中单击相同的元素而不是上面的元素。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-07
相关资源
最近更新 更多