我对硒和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执行它?谢谢你的帮助。
答案 0 :(得分:1)
尝试使用以下xpath选择第二个选项
"//span[text()='Test']/ancestor::*[1]/following-sibling::*/select"
例如:
Selenium.Select("//span[text()='Test']/ancestor::*[1]/following-sibling::*/select","label=Save");