Selenium使用xpath字符串选择下拉元素

时间:2013-02-19 15:13:20

标签: testing xpath selenium

我对硒和xpath都有非常具体的问题。

我必须根据使用selenium的方案进行自动化测试。所有页面都是自动生成的,并且无法使用ID。

虽然所有表单元素都以相同的方式设计。

 <table>
 <tr><td> Title </td></tr>
 <tr><td> input/dropdown/etc </td></tr>
 </table>

他是具体的

<tr>
<td width="34%" valign="top" bgcolor="#ffffc7">
<span class="bold">Status wniosku</span>
<span>Test</span>
</td>
<td width="66%" bgcolor="#ffffc7">
<select id="ctl00_ContentPlaceHolder_2041" class="baseCtrl" name="ctl00$ContentPlaceHolder$2041">
<option value="" selected="selected">- wybierz -</option>
<option value="save">tylko zapisz</option>
<option value="pj">zapisz i wyślij do PJ</option>
</select>
<span>
</span>
<span id="ctl00_ContentPlaceHolder_ctl19" class="validation" style="display:none;">Określ status wniosku</span>
<span id="ctl00_ContentPlaceHolder_ctl20" class="validation" style="display:none;"></span>
<span></span>
</td>
</tr>

使用http://www.xmlme.com/XpathTool.aspx我为下拉元素设计了xpath。

//span[text()='LABELNAME']/ancestor::*[1]/following-sibling::*/select/option[text()='TEXTVALUE']

我想使用Selenium点击我找到的元素。 我已经尝试过Selenium.Click()和Selenium.Select()的变体但没有结果。

我的问题是,xpath设计正确吗?如果是这样我应该如何使用Selenium执行它?谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

尝试使用以下xpath选择第二个选项

"//span[text()='Test']/ancestor::*[1]/following-sibling::*/selec‌​t"

例如:

Selenium.Select("//span[text()='Test']/ancestor::*[1]/following-sibling::*/selec‌​t","label=Save");