我目前正在通过Selenium开展网络自动化。
我有一个html文件,相关部分是这样的:
<table>
<tbody>
<tr>
<td class="tabon" nowrap="">
<div class="tabon">
<a id="tab" href="(long dynamically generated string)">
<b>Main Page</b>
</a>
</div>
</td>
<td class="taboff" nowrap="">
<div class="taboff">
<a id="tab" href="(another long string)">Info</a>
</div>
</td>
</tr>
</tbody>
</table>
我希望能够访问第二个标签。使用Selenium我实际上无法“点击”div标签。
try:
browser.find_element_by_xpath(
'//table/tbody/tr/td[2]/div/a').click()
except NoSuchElementException:
print ('error')
这总是会导致错误。这与以下事实有关:当div标签与之交互时,它会点击更改div的URL锚点,以便点击的标签具有“tabon”属性。硒如何模仿这个?
编辑:我忽略了注意“带有”tabon“的课程的页面标题是单独的粗体标记。
答案 0 :(得分:1)
尝试使用此代码,以防网页上显示“我的信息”标签:
browser.find_element_by_xpath("//a[.='My Info']").click()
这会点击标记为“a”的元素,并将
答案 1 :(得分:0)
您需要点击不在a
上的div
代码以及解决方案 Subh ,但前提是您可以使用.taboff a
作为{{1} }}。此选择器会引导您从粘贴的cssselector
a
转到td
标记