【问题标题】:Couldn't find element with Splinter, tried all methods and returns empty string every time找不到带有 Splinter 的元素,尝试了所有方法并每次都返回空字符串
【发布时间】:2019-01-26 12:51:12
【问题描述】:

我正在尝试单击“下一步”按钮,但我无法通过文本、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"

我希望它找到并单击该元素,以便它可以转到下一页。但相反,我得到了一个空的元素列表。我做错了什么,如何解决?谢谢

【问题讨论】:

    标签: python python-3.x splinter


    【解决方案1】:

    事实证明,我试图查找的元素嵌入在 iframe 中,我必须首先访问它才能找到我正在寻找的元素。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-17
      • 1970-01-01
      • 2017-03-26
      • 2023-03-07
      • 1970-01-01
      • 2017-02-17
      • 1970-01-01
      • 2015-07-05
      相关资源
      最近更新 更多