当前位置: 首页 > 知识库问答 >
问题:

使用Python中的Seleneium webdriver在循环中单击具有相同链接文本的链接

郁鸿博
2023-03-14

我使用以下代码滚动页面并跟踪quora上的用户(链接到页面:http://www.quora.com/Kevin-Rose/followers),向下滚动后会加载一定数量的用户,我使用的代码如下:

# find all the follow buttons that are loaded
button = driver.find_elements_by_xpath("//a[contains(text(), 'Follow')]")

#number of users loaded
no_of_followers = len(button)

#execute the code till all the users are followed
while(no_of_followers > 0):

    count = 0
    #follow all the users loaded by clicking follow button in a loop 
    while(count < no_of_followers):

        button[count].click()
        time.sleep(30)
        print count
        count = count + 1

    #scroll down        
    driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
    time.sleep(30)'
    #find newly loaded users
    button = driver.find_elements_by_xpath("//a[contains(text(), 'Follow')]")
    time.sleep(30)
    #tracking no of users left unfollowed
    no_of_followers = len(button)

我得到以下错误:

消息:u'Element不再附加到DOM'; StackTrace:

编辑1:我尝试使用find\u element\u by\u link\u text,但函数的输出对象显然不是可以迭代的链接列表。

共有1个答案

左丘昕
2023-03-14

可能的问题是@按钮[计数]。单击()。我建议您使用for循环而不是time,并使用迭代器增加循环。

做一些像

//你基本上需要一直点击第一个项目。迭代器应该只控制迭代次数

 Driver.FindElement(By.Xpath("Your Xpath")).Click();

对不起,我不是python专家。

 类似资料:
  • 问题内容: 假设我的网页上有这些元素。 我想单击带有文本的链接。如何使用 链接文本 来识别或单击该元素,而没有任何独特的属性,例如id或class。 在.Net中,我可以使用。nightwatch.js中的等效项是什么 问题答案: 定位器在内部使用XPath。 因此,使用XPath单击示例中的第二个链接: 请注意,根据内部HTML的不同,您可能需要连接子级并修剪空格:

  • 问题内容: 在机械化中,我们可以使用follow_link或click_link单击链接。在美丽的汤中是否有类似的事情可以单击网页上的链接? 问题答案: 是HTML 解析器 。 进一步的讨论实际上取决于您所处的具体情况以及特定网页的复杂性。 如果您需要与网页进行交互:提交表单,单击按钮,滚动等-您需要使用利用真实浏览器的工具,例如。 例如,在某些情况下,如果提交表单时不涉及任何javascript

  • 问题内容: 我正在使用python的机械化模块导航网站,并且无法单击下一页的javascript链接。我做了一些阅读,有人建议我需要python- spidermonkey和DOMforms。我设法通过不知道实际单击链接的语法来安装它们。 我可以将页面上的代码标识为: 有人知道如何单击吗?或者也许还有另一种工具。 谢谢 问题答案: 对于这些用例,我主要在jython下使用HtmlUnit。我还发表

  • 问题内容: 请单击下面的链接以查看我单击 ****1 的链接 “ BEAUTY” 。我正在使用此代码单击“ Beauty”链接 成功单击链接后,出现以下异常,有人可以告诉我为什么得到它吗? 问题答案: 试试这个:

  • 问题内容: 我在Python中使用Selenium尝试单击鼠标悬停在该下拉菜单上时出现的下拉菜单中的链接。这是下拉菜单信息: 我试图单击“ a href”标签中的“文档”链接。当我将鼠标悬停在菜单上时,代码更改如下: 您可以在第二个ul标签中看到“ visible :: hidden”部分消失了。 我使用以下代码在页面上找到了元素: 如果我尝试使用以下方法单击下载按钮: 我收到一个错误,指出该元素

  • 我必须提取表列“付款日期”中提到的每个日期的报告。每个日期都是报告的链接。所以,我一个接一个地点击所有日期以下载报告。 所以,这里的过程是,当我点击一个日期,它将下载该日期的报告。然后,我将单击“下一个日期”以获取该日期的报告。所以,我做了一个for循环来循环所有的链接,并得到所有日期的报告。 但它给了我一个陈旧的元素例外。单击第一个日期后,无法单击下一个日期。我遇到了错误和代码停止。 我该怎么解