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

标签 testing xpath selenium

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

最佳答案

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

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

例如:

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

关于testing - Selenium 使用 xpath 字符串选择下拉元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14960823/

相关文章:

java - 外部类测试需要私有(private)内部类吗?

node.js - 使用带有 GET 的查询字符串在本地测试 Firebase HTTP Cloud 函数

javascript - ReactJS dropzone 通过 webdriver 上传文件

java - 如何从表中获取值?

Javascript 获取节点的 XPath

java - 我想将测试输出文件夹从项目移动到其他目录,我应该将移动文件夹代码放在设置或拆卸的位置吗?

ruby-on-rails - capybara 测试中的 Sendgrid 错误

android - 用于移动测试的 MonkeyTalkIDE 工具的替代品?

python - 执行此操作以对抗多个 xpath 选择器的正确方法是什么?

php - php xpath解析脚本src