首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Selenium X路径选择器-我需要能够在下拉菜单中选择不同的选项。

Selenium X路径选择器-我需要能够在下拉菜单中选择不同的选项。
EN

Stack Overflow用户
提问于 2022-08-14 01:52:20
回答 1查看 47关注 0票数 0

我是自动化的新手,我有一个下拉框,里面有很多可用的选项,我想要增加自动化,但不知道如何添加选择器。我能够让一个选项正常工作,但是我想添加‘’,或者下一个选项(取决于用户选择的内容)。我希望这是有意义的,我不确定是否需要用or语句链接选择器,或者添加某种类型的子元素。下拉列表中的所有可能的选择都有相同的类,只是不同的文本。

什么是获得所有可能的跌落的最好方法。我需要它作为页面对象

这是可行的,但只能选择一个。get SearchDate() {返回$(‘//text包含(文本(),“最后18个月”));}

示例

代码语言:javascript
复制
<span class="form__select-custom-option    ">Last 7 days</span>
<span class="form__select-custom-option    ">Last 6 months</span>
<span class="form__select-custom-option    ">Last 30 Days</span>

但是,它们都有一个不同的data_test属性示例,每个示例都具有唯一的属性。

代码语言:javascript
复制
  data-test="date-range-1"
    data-test="date-range-2"
    data-test="date-range-3"
    data-test="date-range-5"

最后30天是屏幕默认为的内容

代码语言:javascript
复制
<button kdsselecttrigger="" type="button" class="kds-form__select-input" aria-haspopup="listbox" aria-expanded="true" aria-labelledby="date-tran-search choose-a-datetrigger" id="choose-a-datetrigger" aria-describedby="date-range-error">
    <span>Last 30 days</span>
</button>

用户可以从下拉菜单中一次选择的其他选项

代码语言:javascript
复制
<div class="kds-form__select-custom-menu">
    <div class="kds-form__select-custom-list" tabindex="-1" role="listbox" id="choose-a-valuedaterangelist" aria-labelledby="date-tran-search" aria-multiselectable="false">
        <div data-test="tran-search-date-range-0" class="kds-form__select-custom-item" for="choose-a-valuedaterangelist" role="option" aria-selected="false">
            <span class="kds-form__select-custom-option kds-form__select-custom-option--active   ">Today</span>
        </div>
        <div data-test="tran-search-date-range-1" class="kds-form__select-custom-item" for="choose-a-valuedaterangelist" role="option" aria-selected="false">
            <span class="kds-form__select-custom-option    ">Yesterday</span>
        </div>
        <div data-test="tran-search-date-range-2" class="kds-form__select-custom-item" for="choose-a-valuedaterangelist" role="option" aria-selected="false">
            <span class="kds-form__select-custom-option    ">Last 7 days</span>
        </div>
    </div>
</div>   
EN

回答 1

Stack Overflow用户

发布于 2022-08-14 19:16:10

下拉列表中所有可能的选择都有相同的类,只是不同的文本。

使用class属性获取所有的<span>

代码语言:javascript
复制
//span[normalize-space(@class)="form__select-custom-option"]

或者,如果要使用data-test属性,可以使用

代码语言:javascript
复制
//span[contains(@data-test), "date-range-")]

您没有提供整个HTML源代码片段,因此这是一种推测。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73348684

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档