簡體   English   中英

從硒的下拉列表中獲取所選選項作為文本/字符串f?

[英]Getting the selected option as text/string ffrom a drop-down in Selenium?

我有一種情況,我需要從下拉列表中以文本或字符串的形式獲取當前選擇並進行比較以進行進一步聲明,但是當我嘗試使用getText()時,我將獲得下拉列表中項目的完整列表,我可以從下拉列表中獲取當前選擇的項目。

<form id="MODIFY_ATTRIBUTES" class="formList" method="post" action="jfn?ctxcontractId=L4%3A2274&mfunc=30&ctxnavCtx=C&cfunc=228&ctxaccountId=L4%3A1877&oid=L4%3A2042&ctx=L&octx=110&jfnRC=1">
<hr/>
<div class="formListTab">
<fieldset>
<div>
<label class="mandatory" for="p-param-L4:80000">Language</label>
<select id="p-param-L4:80000" name="p-param-L4:80000">
<option value="p-param-L4:80000-L4:12610">English</option>
<option selected="selected" value="p-param-L4:80000-L4:12600">French (Standard)</option>
<option value="p-param-L4:80000-L4:12830">Dutch</option>
</select>
</div>

我使用了下面的XPATH,但是它從下拉列表中返回了項目的完整列表。

driver.findElement(By.xpath("//form[@id='MODIFY_ATTRIBUTES']/fieldset[1]/div/select")).getText();

您正在獲取整個Select元素的文本,而不僅僅是獲取選定的選項。 您可以使用內置函數來獲取選定的選項,然后從中獲取文本。 使用以下內容:

String selectedOption = new Select(driver.findElement(By.id("p-param-L4:80000"))).getFirstSelectedOption().getText();

但是,如果要使用xpath。 您可以嘗試以下操作:

String selectedOption = driver.findElement(By.xpath("//select[@id='p-param-L4:80000']/option[@selected='selected']")).getText();

我建議Id提取您所需的文本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM