如何编写CSS表达式来点击"选择"我已尝试使用不同的x路径,它在IE中无法正常工作

时间:2014-06-06 05:41:37

标签: css selenium selenium-webdriver webdriver

  <div class="row-fluid">
  <table class="s-table table table-bordered table-striped table-hover">
  <thead class="p-table-head">
  <tbody class="p-table-body">
  <tr>
  <td>
  <td>
  <td>
  <td>
  <td>
  <td>
  <td>
  <td>
  <td>
  <td>
  <div id="div_2_1_2_1_1_1_10_r9" class="Action_Group CoachView CoachView_show" data- eventid="" data-viewid="Action_Group1" data-config="config_div_2_1_2_1_1_1_10_r9" data-bindingtype="" data-binding="" data-type="com.ibm.bpm.coach.Snapshot_9e739df9_ccc7_4dfa_9b75_8233150ad5bc.Action_Group">
  <div id="div_2_1_2_1_1_1_10_1_r9" class="ContentBox" data-view-managed="true" style="display: none;"> </div>
  <div class="s-action-group clearfix">
  <div class="l-nodeId" style=" display: none; "></div>
  <div class="p-action-group">
  <div id="div_2_1_2_1_1_1_10_1_1_r9" class="Action CoachView CoachView_show" data-      eventid="boundaryEvent_10" data-viewid="Action3" data-config="config_div_2_1_2_1_1_1_10_1_1_r9" data-bindingtype="" data-binding="" data-type="com.ibm.bpm.coach.Snapshot_9e739df9_ccc7_4dfa_9b75_8233150ad5bc.Action" style="background-color: transparent;">
 <button id="div_2_1_2_1_1_1_10_1_1_r9-lnk" type="button" style="display: none;">
<a class="p-action-link" href="#action" title="">
 <i style="display: none;"></i>
<span style="background-color: transparent;">Select</span>
</a>
</div>
</div>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>

我尝试使用以下不同的x路径表达式,它在Firefox中运行良好,但在IE浏览器中它不起作用?。

//tbody[@class='p-table-body']/tr/td[10]/div/div/div/div/a/span

//table[@class='s-table table table-bordered table-striped table-  hover']/tbody/tr[1]/td[10]/div/div/div[2]/div/a/span

//*[@id='div_2_1_2_1_1_1_10_1_1_r9']/a/span

注意:我已经尝试执行脚本但它没有失败,但主要问题是无法识别 选择客户的链接。

3 个答案:

答案 0 :(得分:0)

尝试

//*[@id='div_2_1_2_1_1_1_10_1_1_r9-lnk']/a/span

点击选择

答案 1 :(得分:0)

不确定它是否有帮助,但请尝试选择&#39; a&#39;元素,而不是。据我所知,还没有必要选择span元素。 E.g:

By.cssSelector("#div_2_1_2_1_1_1_10_1_1_r9 a.p-action-link")

另外,还有一些建议。

  1. 尽量避免使用xpath选择器,而是编写css选择器。请参阅selenium-docs

  2. 在编写选择器时,您不应该太严格。 &#34; / TR / TD [10] / DIV / DIV / DIV / DIV&#34;被认为是不好的做法。 请参阅Writing reliable locators for Selenium and WebDriver tests

答案 2 :(得分:0)

尝试使用文本标识符

标识元素
driver.findElement(By.xpath("//a/span[text()='Select']")).click();