Selenium Python单击命令 - 错误消息

时间:2016-11-06 21:25:28

标签: python selenium xpath click

<tr>
   <td>Wed Sep 28, 2016 9:45a.m.</td>
   <td>Dr. Smiley Schutes</td>
   <td>Medicine followup</td>
   <td>
   <td>Exam 1</td>
   <td></td>
   <td>Balance Due</td>
   <td align="left">2</td>
   <td>
   <td style="text-align: right;">
      <div class="btn-group">
         <a class="btn btn-small btn-link" href="/appointments/37135832">
            <i class="icon-pencil"></i>
               Edit Appointment
         </a>
         <a class="btn btn-small" target="_blank" href="/clinical_note/edit/37135832/lock/">
            <i class="icon-lock"></i>
               View Note
         </a>
      </div>
   </td>
</tr>

从上面的HTML中,下面的XPath标识了要单击的正确按钮以获取更多信息。

.//*[@id='id_past_appointments']//tr[td[contains(text(), 'Sep 28, 2016')]]//a[normalize-space(.)='View Note']

但是,当我将XPath合并到下面列出的Selenium / Python命令中时,我收到一条错误消息:

 browser.find_element_by_xpath(".//*[@id='id_past_appointments']/tbody /tr/td[contains(text(), 'Sep 28, 2016')]//following-sibling::*[9]/div/a[2]").click()

无法弄清楚Selenium Python命令导致错误消息的原因。

1 个答案:

答案 0 :(得分:0)

我的猜测是你混淆了两个标识符。

您已检查过此xpath:

.//*[@id='id_past_appointments']//tr[td[contains(text(), 'Sep 28, 2016')]]//a[normalize-space(.)='View Note']

但是你在代码中使用了这个:

.//[@id='id_past_appointments']/tbody/tr/td[contains(text(), 'Sep 28, 2016')]//following-sibling::[9]/div/a[2]