当前位置: 首页 > 知识库问答 >
问题:

无法使用webdriver定位器定位javascript下拉列表

田慈
2023-03-14

我正在尝试定位一个下拉列表并从中选择一个选项,但是我无法定位下拉列表,因为没有id,名称,或任何明显的其他定位器来访问它。

我甚至尝试过使用xpath,我唯一的成功是单击下拉菜单并打开列表,但我无法从中选择任何项目。

我甚至尝试了类似的操作:String metric=“html/body/div[3]/div[2]/form/div/table/tbody/tr1/td[2]/div/a”;单击(driver.findelement(by.xpath(metric)));select(“Connection Status”).From(By.CSSSelector(“Select2-Choice”));以下是我需要选择的选项的屏幕截图:

我提供了下面的JS代码

<form> <div class="my-form"> <span class="table-title">Widget Information</span>  
<table> <tbody> <tr class="ui-field"> <td align="right" width="30%">Metric Type</td>
<td> <div id="s2id_autogen1" class="select2-container" style="display: inline;"> <a
class="select2-choice" tabindex="-1" onclick="return false;" 
href="javascript:void(0)"> <span class="select2-chosen">Connection Status</span> <abbr
class="select2-search-choice-close"></abbr> <span class="select2-arrow"> <b></b>
</span> </a> <input id="s2id_autogen2" class="select2-focusser select2-offscreen" 
type="text">

共有1个答案

夏侯智鑫
2023-03-14

首先,做一个WebElement点击菜单展开它。然后,做这样的事情:

List<WebElement> menuItems = driver.findElements( 
    By.xpath( ".//div[@class='select2-container']/*/option" ) );
for ( WebElement el: menuItems ) {
    if ( el.getText().equals("Item I am looking for") ) el.click();
    break;
}

或者类似的方法应该会奏效。

 类似资料:
  • 我想从下拉列表中选择值。 目前我可以点击下拉列表,但无法从下拉列表中选择值。下面是我用来从下拉列表中选择值的代码。 我在框架中工作,你能告诉我相应的代码吗。请检查我正在使用的以下代码。 超文本标记语言

  • 我对selenium WebDriver非常陌生,我试图自动化一个页面,它有一个名为“删除日志文件”的按钮。使用FireBug我了解到,HTML被描述为 css选择器也使用firepath定义为“#DeletelogButton” 请帮助我解决这个问题。

  • 我正在使用webDrive来测试我们包含表的应用程序,用户可以在其中更改表中列的顺序,还可以删除/添加列(这是开发人员添加的新列旁边)。 找到我需要的列的正确方法是什么?一种方法是遍历表头以找到我要查找的列,这样我就有了列索引并且可以访问正确的单元格。 还有别的办法吗?为表中的每个元素放置唯一的id/类名怎么样? 谢啦

  • 我试图引用并单击网页上的元素。 我们应该能够使用简单的XPath进行引用。例如 然而,这似乎并不奏效。 我使用的chrome扩展表示该元素不存在。 我的代码找不到元素。 下面是我使用Selenium web驱动程序的Java代码。 以下是错误: 太奇怪了!关于为什么我不能引用元素,或者为什么xPath不exist的任何想法。

  • 我正在设计一个网站。在我的网站,我想创建这样一个菜单,其中导航栏将包含这样一个ul,哪个类将是导航导航栏-导航导航栏-右。缩小页面大小后,此时会出现下拉按钮。然后,如果用户单击按钮,在出现的下拉框中li项应该向左浮动,这意味着ul类将是nav navbar-nav navbar-左。我该怎么做呢?我试过jQuery。但是在这种情况下,在页面返回到其原始大小后,ul不会返回到其原始的nav navb

  • 我正在尝试采取一些分数从网站,而使用WebDriver。到目前为止我尝试了XPath,CSS,Classname,但是,有时它定位项目,有时它不定位。 这是我一直试图带它的HTML代码: 这是我的代码(到目前为止我已经尝试过了): 其他版本: 并且我也尝试了子类(在score classes下),但结果是一样的,有时可以定位元素,有时不能。 有什么建议吗? 更新:在我的代码中,我放了一些或仍然不能