gpt4 book ai didi

java - 如何使用带有java的selenium web驱动程序从下拉菜单中选择一个元素?

转载 作者:行者123 更新时间:2023-12-02 04:13:59 25 4
gpt4 key购买 nike

<div class="select-dropdown-icon"
ng-mousedown="onDropdownBtnMousedown()"></div>

<div class="select-dropdown" ng-click="onDropdownClick($event)"
style="display: block;">
<div class="select-contents-container ng-isolate-scope"
kt-scrollpane="" on-infinite-scroll="onInfiniteScroll()"
ng-transclude="">
<kt-select-option value="off_duty" class="ng-scope ng-isolate-scope">
<div class="select-option-container select-option-highlighted"
ng-mouseenter="onMouseenter()" ng-click="onClick()"
ng-class="{'select-option-highlighted': option.highlighted,'select-option-selected': option.selected,'select-option-hidden': !option.visible,'select-option-new': option.newValue}"
ng-transclude="" style="">
<span class="ng-scope">Off Duty</span>
</div>
</kt-select-option>
<kt-select-option value="sleeper" class="ng-scope ng-isolate-scope">
<div class="select-option-container select-option-selected"
ng-mouseenter="onMouseenter()" ng-click="onClick()"
ng-class="{'select-option-highlighted': option.highlighted,'select-option-selected': option.selected,'select-option-hidden': !option.visible,'select-option-new': option.newValue}"
ng-transclude="">
<span class="ng-scope">Sleeper</span>
</div>
</kt-select-option>
<!-- ngIf: !logSuggestions.log.isEldEnabled -->
<kt-select-option value="driving"
ng-if="!logSuggestions.log.isEldEnabled"
class="ng-scope ng-isolate-scope">
<div class="select-option-container" ng-mouseenter="onMouseenter()"
ng-click="onClick()"
ng-class="{'select-option-highlighted': option.highlighted,'select-option-selected': option.selected,'select-option-hidden': !option.visible,'select-option-new': option.newValue}"
ng-transclude="" style="">
<span class="ng-scope">Driving</span>
</div>
</kt-select-option>
<!-- end ngIf: !logSuggestions.log.isEldEnabled -->
<kt-select-option value="on_duty" class="ng-scope ng-isolate-scope">
<div class="select-option-container" ng-mouseenter="onMouseenter()"
ng-click="onClick()"
ng-class="{'select-option-highlighted': option.highlighted,'select-option-selected': option.selected,'select-option-hidden': !option.visible,'select-option-new': option.newValue}"
ng-transclude="" style="">
<span class="ng-scope">On Duty</span>
</div>
</kt-select-option>
</div>
</div>

请检查代码并让我知道如何访问下拉菜单并选择一个元素。元素为“值类”“卧铺”“下类”

最佳答案

如果您熟悉 HTML,您就会知道下拉菜单传统上是使用 Select 标记实现的。 Selenium WebDriver 提供了一个类来处理此类选择。

Select select = new Select(driver.findElement(By.id("select")))

但是,使用 jQuery Bootstrap 和其他技术开发的新网站使用 spansdivsli 和其他标签以不同的方式实现这一点。你的代码也是这样开发的。所以我们必须遵循以下方法。通常,下拉列表和下拉值位于 DOM 的不同部分。我们必须通过检查页面源来正确识别它。

  1. 点击下拉框并等待下拉值出现

    WebElement dropDown = driver.findElement(By.className("select-dropdown-icon"));
    dropDown.click();
  2. 通过点击选择所需的下拉值。

    WebElement dropDownValueOffDuty  = driver.findElement(By.xpath("//kt-select-option[@value='off_duty']/div"));
    dropDownValueOffDuty.click();

希望这对您有帮助。

关于java - 如何使用带有java的selenium web驱动程序从下拉菜单中选择一个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33514152/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com