Kor*_*gay 9 selenium-webdriver
假设我有这个HTML代码:
<select id="superior" size="1" name="superior">
<option value=""></option>
<option value="c.i.e.m.md.Division_1">DIVISION007</option>
<option selected="selected" value="c.i.e.m.md.Division_$$_javassist_162_119">MyDivision</option>
<option value="c.i.e.m.md.Division_121">MyDivision4</option>
<option value="c.i.e.m.md.Division_122">MyDivision5</option>
</select>
Run Code Online (Sandbox Code Playgroud)
所以这是一个组合框
id=superior
Run Code Online (Sandbox Code Playgroud)
并且当前值已选中MyDivision.
使用Selenium WebDriver我试图获取所选值,但没有成功.
我试过了:
String option = this.ebtamTester.firefox.findElement(By.id(superiorId)).getText();
return option;
Run Code Online (Sandbox Code Playgroud)
但这会返回组合框中的所有值.
请帮忙?
编辑:
WebElement comboBox = ebtamTester.firefox.findElement(By.id("superior"));
SelectElement selectedValue = new SelectElement(comboBox);
String wantedText = selectedValue.getValue();
Run Code Online (Sandbox Code Playgroud)
Mic*_*sta 16
这是用C#编写的,但要将其转换为您正在使用的任何其他语言并不困难:
IWebElement comboBox = driver.FindElement(By.Id("superior"));
SelectElement selectedValue = new SelectElement(comboBox);
string wantedText = selectedValue.SelectedOption.Text;
Run Code Online (Sandbox Code Playgroud)
SelectElement要求您使用OpenQA.Selenium.Support.UI,因此在顶部键入
using OpenQA.Selenium.Support.UI;
Run Code Online (Sandbox Code Playgroud)
编辑:
我想你,而不是你会使用的'司机'
IWebElement comboBox = this.ebtamTester.firefox.FindElement(By.Id("superior"));
Run Code Online (Sandbox Code Playgroud)
在Java中,以下代码应该可以很好地工作:
import org.openqa.selenium.support.ui.Select;
Select comboBox = new Select(driver.findElement(By.id("superior")));
String selectedComboValue = comboBox.getFirstSelectedOption().getText();
System.out.println("Selected combo value: " + selectedComboValue);
Run Code Online (Sandbox Code Playgroud)
由于目前选择MyDivision,上面的代码将打印"MyDivision"
| 归档时间: |
|
| 查看次数: |
49691 次 |
| 最近记录: |