我试图点击“下一步”按钮,我不能是文本,也没有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"
我希望它找到并单击该元素,因此它可以去到下一个页面。但是,相反,我得到元素的空列表。我做了什么错的,怎么能解决吗?谢谢
原来,我试图找到该元素是嵌入在一个iframe,我必须先得到它,以便找到我要找的元素访问。