我试图单击“下一步”按钮,但无论是文本还是XPath,类或其他方法都找不到它。我还尝试过从较大的元素列表中返回所有元素,而且也不存在。
我不知道到底是什么问题,为什么不存在。
HTML:
<div class="topnav clearfix">
<div class="toptotal">Viewing 1 - 10</div>
<div class="pos-right">
<span class="page-start" style="width:53px">Previous</span>
<span class="page-cur">1</span>
<a class="list_goto_page" data="2" href="javascript:void(0);">2</a>
<span class="page-break">...</span>
<a class="list_goto_page" data="117" href="javascript:void(0);">117</a>
<a class="page-next list_goto_page" data="2" href="javascript:void(0);">Next</a>
</div>
PYTHON代码:
browser.visit(link)
time.sleep(2)
nb = browser.find_by_xpath(xpath='//div[@class="topnav clearfix"]//a')
print nb
结果:
[]
Traceback (most recent call last):
File "C:\Work\Machine Learning\bot\bot.py", line 24, in <module>
nb.first.click()
File "C:\Python27\lib\site-packages\splinter\element_list.py", line 53, in first
return self[0]
File "C:\Python27\lib\site-packages\splinter\element_list.py", line 44, in __getitem__
self.find_by, self.query))
splinter.exceptions.ElementDoesNotExist: no elements could be found with xpath "//div[@class="topnav clearfix"]//a"
我希望它找到并单击该元素,因此可以转到下一页。但是,相反,我得到了一个空元素列表。我做错了什么,如何解决?谢谢
答案 0 :(得分:0)
原来,我要查找的元素已嵌入到iframe中,我必须首先访问它才能找到我要查找的元素。