【问题标题】:Selenium select dropdown element using xpath stringSelenium 使用 xpath 字符串选择下拉元素
【发布时间】:2013-02-04 07:56:45
【问题描述】:

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

我必须根据使用 selenium 的场景进行自动化测试。所有页面都是自动生成的,使用 Ids 是不可能的。

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

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

【问题讨论】:

  • 在上面的 HTML 示例中,您要点击哪个 exact 元素?很难说。还有你用的是什么浏览器?
  • 我正在使用 Internet Explorer。我正在尝试单击下拉选项之一。我不确定我应该单击它还是选择它。在我的 expath 中,我试图点击“tylko zapisz”。 Selenium.Click("//span[text()='Status wniosku']/ancestor::*[1]/following-sibling::*/select/option[text()='tylko zapisz'");

标签: testing xpath selenium


【解决方案1】:

试试下面的 xpath 来选择第二个选项

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

例如:

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

【讨论】:

  • 它不起作用,但它让我知道它应该如何工作:) Selenium.Select("//span[text()='Test']/ancestor::*[1]/以下兄弟姐妹::*/select","label=Save");请使用更新编辑您的帖子,以便我竖起大拇指! :)
  • 很高兴为您提供帮助.. :) 我已经编辑了我的答案 bcz,它可能对其他人有用。
猜你喜欢
  • 2021-04-28
  • 1970-01-01
  • 1970-01-01
  • 2020-08-08
  • 2014-11-02
  • 1970-01-01
  • 2020-05-15
  • 1970-01-01
  • 2012-06-30
相关资源
最近更新 更多