1

我对 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 执行它?感谢您的帮助。

4

1 回答 1

1

尝试在 xpath 下面选择第二个选项

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

前任:

Selenium.Select("//span[text()='Test']/ancestor::*[1]/following-sibling::*/selec‌​t","label=Save");
于 2013-02-19T15:34:31.463 回答