WebDriver如何在不使用javascript中的Select类的情况下从组合框中获取选定值

WebDriver如何在不使用javascript中的Select类的情况下从组合框中获取选定值,javascript,webdriver,selenium-webdriver,ui-automation,Javascript,Webdriver,Selenium Webdriver,Ui Automation,我正在用Java开发webdriver。如果不使用Webdriver的Select类,如何从组合框中获取所选值 我正在处理的标记是- <select name="cmbStateName"> <option value="MH">Maharashtra</option> <option value="HR">Harayana</option> <option value="MP">Madhya Pradesh</opt

我正在用Java开发webdriver。如果不使用Webdriver的Select类,如何从组合框中获取所选值

我正在处理的标记是-

<select name="cmbStateName">
<option value="MH">Maharashtra</option>
<option value="HR">Harayana</option>
<option value="MP">Madhya Pradesh</option>
</select>
我无法对标记进行任何更改。 我不想使用Select类的原因是我想用纯Java驱动测试,并与标记交互。我不想使用Java脚本获取值,但我想通过核心Java获取它

driver.findelement(By.name("cmbStateName")).findelement(By.xpath(".//option[@selected='selected']")).getText();
如果不起作用,则获取所选选项值,即MH或HR或MP,并转换回显示文本

driver.findelement(By.name("cmbStateName")).findelement(By.xpath(".//option[@selected='selected']")).getAttribute("value");

试试这个:C代码选择类可以通过使用OpenQA.Selenium.Support.UI来使用 选择Select=new Selectdriver.findElementBy.xpath//path\u to\u下拉菜单; 选择。取消选择全部;
select.selectByVisibleTextValue1

如果要获取选定值,请尝试以下操作:

C代码:

using OpenQA.Selenium.Support.UI;

var select = new SelectElement(Driver.FindElementByName("cmbStateName"));
return select.SelectedOption.Text;
选择大小
50LB20KG6.23KG2/25LB20LB12/1LBenter代码在这里

我不确定到底是什么问题。但是,如果您的目的是获取所选文本,下面是应该可以工作的代码。这是用C语言编写的。希望您能够用Java实现它。新建SelectElementDriver.FindElementByNamecmbStateName.SelectedOption.text我认为您误解了Select类是什么。Select类实际上是WebElement类周围的一个facade,它只搜索作为其直接后代的选项元素。它实际上与Javascript无关。