使用python和selenium在reddit

时间:2017-01-30 11:14:20

标签: python selenium reddit

我正在尝试编写一个脚本,以便在Reddit中删除我在个人资料中的所有评论。

所以我目前正在使用Selenium登录并尝试删除我的评论,但是当我的帖子在我的评论后按删除后,我陷入困境,并且它变为"你是不是肯定是/否"然后它无法找到"是"元素Xpath。以下代码抛出错误:

  

引发exception_class(消息,屏幕,堆栈跟踪)   selenium.common.exceptions.ElementNotVisibleException:消息:   元素当前不可见,因此可能无法与之交互   堆栈跟踪:

我的代码如下:

    del_button = driver.find_element_by_xpath("//*[contains(@id,'thing_"+delete_type+"')]//div[2]/ul/li[7]/form/span[1]/a")
    del_button.click()        
    time.sleep(3)
    yes_button = driver.find_element_by_xpath("//*[contains(@id,'thing_"+delete_type+"')]//div[2]/ul/li[7]/form/span[1]//a[1]")
    yes_button.click()
    time.sleep(3)      

1 个答案:

答案 0 :(得分:1)

由于页面上可能存在多个具有相同属性的隐藏元素,因此您可能需要使用index来点击确切元素:

driver.find_elements_by_xpath('//a[@class="yes"]')‌​[N].clic‌​k() # N is the index of target link

如果您无法定义确切的索引,可以使用以下代码:

from selenium.common.exceptions import ElementNotVisibleException

for link in driver.find_elements_by_xpath('//a[@class="yes"]')‌:
    try:
        link.click()
        break
    except ElementNotVisibleException:
        pass