<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命令导致错误消息的原因。
答案 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]