当前位置: 首页 > 面试题库 >

如何使用node.js在Selenium Webdriver中选择下拉值

班宏毅
2023-03-14
问题内容

我有以下HTML结构:

<button class="dropdown-toggle selectpicker btn btn-primary" data-toggle="dropdown" type="button" data-id="strategic_reseller_country" title="United States">
<div class="dropdown-menu open" style="max-height: 245.6px; overflow: hidden; min-height: 40px;">
<ul class="dropdown-menu inner selectpicker" role="menu" style="max-height: 243.6px; overflow-y: auto; min-height: 38px;">
<li class="" rel="0">
<a class="" style="" tabindex="0">
<span class="text"/>
<i class="glyphicon glyphicon-ok icon-ok check-mark"/>
</a>
</li>
<li rel="1">
<a class="" style="" tabindex="0">
<span class="text">Andorra</span>
<i class="glyphicon glyphicon-ok icon-ok check-mark"/>
</a>
</li>
<li rel="2">
<a class="" style="" tabindex="0">
<span class="text">United Arab Emirates</span>
<i class="glyphicon glyphicon-ok icon-ok check-mark"/>
</a>
</li>
<li rel="3">
<a class="" style="" tabindex="0">
<span class="text">Afghanistan</span>
<i class="glyphicon glyphicon-ok icon-ok check-mark"/>
</a>
</li>
<li rel="4">
<li rel="5">
<li rel="6">
<li rel="7">
<li rel="8">
<li rel="9">
<a class="" style="" tabindex="0">
<span class="text">Netherlands Antilles</span>
<i class="glyphicon glyphicon-ok icon-ok check-mark"/>
</a>
</li> 
</ul>
</div>

那么我如何从清单中获得该物品?

我是Node.Js(JavaScript)的新手,所以我不知道如何实现它,node.Js但是可以在Java中实现,如下所示:

Select dropdown = new Select(driver.findElement(By.class("dropdown-menu inner selectpicker"))); 
dropdown.selectByVisibleText("Andorra");

问题答案:

我会为此使用Cheerio。

module.exports = {
    "login": function (browser) {
        var cheerio = require("cheerio")

        browser
            .url("http://www.wikipedia.org")
            .waitForElementVisible('body', 1000)
            .waitForElementVisible('select#searchLanguage', 1000)
            .source(function(result) { // .source() dump the page source in the variable
                $ = cheerio.load(result.value)
                var num_languages = $('select#searchLanguage option').length
                console.log('Wikipedia.org Languages: ' + num_languages);
            })
            .end();
    }
};

或者只是使用.execute()命令



 类似资料:
  • 问题内容: 是selenium的新手,目前正在使用selenium webdriver,我想从下拉列表中选择一个值。id = periodId和选项很多,因为它试图选择“最近52周”。 这是HTML代码: 请为我建议一些单击下拉菜单的方法。 我尝试使用上面的示例行,但遇到诸如Element当前不可见等错误,因此可能无法与Command duration或timeout交互:32毫秒下拉列表值为jq

  • 我正在尝试使用Capybara(2.1.0)从下拉菜单中选择一个项目。 我想通过数字来选择(意思是选择第二个、第三个等选项)。 我疯狂地搜索了所有的东西,但都没有结果。 但会导致以下错误: 那么我如何从下拉(使用Capybara)中选择第一个、第二个、第三个等选项呢?

  • 问题内容: 我对英超联赛的数据感兴趣。因此,我尝试从此官方网站获取数据https://www.premierleague.com/stats/top/players/total_pass 我正在使用R和RSelenium包。 但是我遇到了一些问题。有一些类别的数据,例如季节,位置,俱乐部等。 因此,我认为我可以基于这些类别获取数据。但是我不知道如何在此站点中使用Rselenium在下拉框中选择特定

  • 我正在尝试使用Puppeteer选择下拉列表中的第一个元素。问题是,选项的值在每次测试中都会更改,所以我不能根据该值选择选项,除非我能够首先检索到该值。 当前使用: 这将选择该选项,但是必须单击下拉项才能提交表单(我无法控制此操作)。 此外,我还尝试使用木偶键盘命令向下箭头并按回车键,但由于某种原因,该功能不起作用。

  • 我是selenium新手,目前正在开发selenium webdriver,我想从下拉列表中选择一个值。id=periodId,选项很多,我试图选择最后52周。 这是超文本标记语言代码: 请建议我单击下拉列表的一些方法。 我尝试了上面的示例行,但出现了错误,例如元素当前不可见,因此可能无法与命令持续时间或超时交互:32毫秒下拉列表值是jquery multiselect小部件格式。

  • 下面给出了一段表示下拉列表的代码。我需要在此下拉列表中选择日期值,由<代码> 以下方法无效 1。)使用“按导入组织选择”选择此值。openqa。硒。支持用户界面。选择 控制台显示: 元素应该是“选择”,但应该是“选项” 2.)首先单击下拉列表以显示要选择的选项,然后单击该选项。 控制台显示: 调试元素缺少可访问的名称:id:类型,标记名:选择,类名:文本输入ng原始ng未触及ng有效ng范围 3.