为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Selenium 选择第一个值

使用 Selenium 选择第一个值

catspeake 2021-07-29 10:00:24
我想选择以下代码的第一个值:<select class="form-control input-sm">    <option value="PARENT-CHILD">Parent-Child (1:Many)</option>    <option value="PRIMARY-SECONDARY">Primary-Secondary (1:Many)</option    <option value="ASSOCIATED-TO">Associated To (Many:Many)</option></select>代码尝试:driver.findElement(By.xpath("//*[@id=\"popover162353\"]/div[2]/div/form/div/div[1]/div[1]/select")).click();new Select(driver.findElement(By.xpath("//*[@id=\"popover162353\"]/div[2]/div/form/div/div[1]/div[1]/select"))).selectByVisibleText("Parent-Child (1:Many)");网址:<div class="popover-content"><div>    <div class="editableform-loading" style="display: none;"></div>    <form class="form-inline editableform" style="">        <div class="control-group form-group">            <div>                <div class="editable-input">                    <select class="form-control input-sm">                        <option value="PARENT-CHILD">Parent-Child (1:Many)</option>                        <option value="PRIMARY-SECONDARY">Primary-Secondary (1:Many)</option>                        <option –value="ASSOCIATED-TO">Associated To (Many:Many)</option>                    </select>                </div>                <div class="editable-buttons">                    <button type="submit" class="btn btn-primary btn-sm editable-submit"><i class="glyphicon glyphicon-ok"></i></button>                    <button type="button" class="btn btn-default btn-sm editable-cancel"><i class="glyphicon glyphicon-remove"></i></button>                </div>            </div>            <div class="editable-error-block help-block" style="display: none;"></div>        </div>    </form></div>
查看完整描述

3 回答

?
慕的地6264312

TA贡献1817条经验 获得超6个赞

下拉是使用选择和选项标签进行的。您可以使用 selenium 中的 select 类。


Select dropdown = new Select(driver.findElement(By.cssSelector("select.form-control.input-sm")))  


dropdown.selectByVisibleText("Primary-Secondary (1:Many)");  

或使用 value 属性。


dropdown.selectByValue("PRIMARY-SECONDARY");  

编辑:


您可以尝试使用此代码:


Select dropdown = new Select(new WebDriverWait(driver,10).until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("select.form-control.input-sm")))); 

dropdown.selectByVisibleText("Primary-Secondary (1:Many)");  


查看完整回答
反对 回复 2021-08-04
?
饮歌长啸

TA贡献1951条经验 获得超3个赞

已经提到了很多方法,您可以使用不同的方法,例如


    WebElement dropdownEle = driver.findElement(By.xpath("//select[@class='form-control input-sm']"));

    Select Dropdown = new Select(dropdownEle);

    Dropdown.selectByIndex(1);

    //Dropdown.selectByValue("Parent-Child (1:Many)");

    //Dropdown.selectByValue("Primary-Secondary (1:Many)");

您可以使用selectByIndex(index)orselectByValue(value)或selectByVisibleText(text),但最好的使用方式是使用selectByValue(value)


查看完整回答
反对 回复 2021-08-04
?
慕沐林林

TA贡献2016条经验 获得超9个赞

你可以试试这个


WebElement temp = wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//select[@class='form-control input-sm']")));

Select findValue= new Select(temp);

findValue.selectByValue("PARENT-CHILD");


查看完整回答
反对 回复 2021-08-04
  • 3 回答
  • 0 关注
  • 329 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信