【问题标题】:Unable to click/select the element from dropdown无法从下拉列表中单击/选择元素
【发布时间】:2019-07-16 11:41:06
【问题描述】:

我无法通过文本或任何其他属性找到使用 xpath 的元素。

<li class ="grid-class">
 <a tabindex="0">
  <label class="radio">
   <input type="radio" value="ATTR_4">
    " ATTR_4"
  </label>
 </a>
</li>

我尝试过的 Xpath:

  • //*[@id='multiSel']/div//li[@class='grid-class']//label/input[@value='ATTR_4']
  • //*[@id='multiSel']/div//li[@class='grid-class']//label/input[text()='ATTR_4']
  • //*[@id="multiSel"]/div/ul/li[26]/a/label/text()

【问题讨论】:

  • 请在此处发布跟踪记录。如果没有错误详细信息,则无法识别您的问题。并添加您将如何发送数据。所以很容易提供答案。
  • 请查看更新的详细信息@Devdun
  • 我试过了:public WebElement attrDescVal() { WebElement attrDescVal = getElement(Identifier.xpath, "//*[@id=\"multiSel\"]/div/ul/li[5]/a/label/text()"); return attrDescVal; }@Devdun
  • 以上所有提到的 xpaths 本身都不能正常工作,我将直接点击该元素 @Devdun
  • attr 数字每次会话都会改变还是保持不变?

标签: java angular selenium xpath


【解决方案1】:

相关的 XPath 定位器是:

//input[@value='ATTR_4']

或者如果你想使用文本而不是 value 属性:

//input[contains(text(), 'ATTR_4')]

更多信息:

您可能还想考虑使用Explicit Wait,因为您正在寻找的radio button 可能不会立即在DOM 中可用

【讨论】:

  • 我确实尝试过第一种方式 (//input[@value='ATTR_4'] 但是通过这种方式也没有从下拉列表中选择元素/选项,尽管我能够找到它但没有点击
  • 尝试单击元素@Dmitri T时获取元素未找到异常
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多