From 3939c8642dd1abe498893c08b02613ff072f71a1 Mon Sep 17 00:00:00 2001 From: Wesley Kerfoot Date: Wed, 3 Jul 2019 20:17:04 -0400 Subject: [PATCH] (almost) working list of convo URLs --- deletefb/tools/comments.py | 2 ++ deletefb/tools/conversations.py | 19 +++++++++++++++++++ deletefb/tools/wall.py | 1 - 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/deletefb/tools/comments.py b/deletefb/tools/comments.py index a167845..ebf9de7 100644 --- a/deletefb/tools/comments.py +++ b/deletefb/tools/comments.py @@ -13,3 +13,5 @@ def delete_comments(driver, profile_url): """ driver.get("{0}/allactivity?privacy_source=activity_log&category_key=commentscluster".format(profile_url)) + + wait = WebDriverWait(driver, 20) diff --git a/deletefb/tools/conversations.py b/deletefb/tools/conversations.py index a1870f0..cb023ae 100644 --- a/deletefb/tools/conversations.py +++ b/deletefb/tools/conversations.py @@ -4,12 +4,31 @@ from .common import SELENIUM_EXCEPTIONS, logger, click_button from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.support.ui import WebDriverWait +from selenium.webdriver.common.action_chains import ActionChains LOG = logger(__name__) +def get_conversation_list(driver): + """ + Get a list of conversations + """ + + actions = ActionChains(driver) + + convos = driver.find_elements_by_xpath("//ul[@aria-label=\"Conversation list\"]/li") + + for convo in convos: + actions.move_to_element(convo).perform() + yield convo.find_element_by_xpath("//a") + def delete_conversations(driver): """ Remove all conversations within a specified range """ driver.get("https://www.facebook.com/messages/t/") + + wait = WebDriverWait(driver, 20) + + for convo_url in get_conversation_list(driver): + print(convo_url.get_property("data-href")) diff --git a/deletefb/tools/wall.py b/deletefb/tools/wall.py index 890bae0..1d9d232 100644 --- a/deletefb/tools/wall.py +++ b/deletefb/tools/wall.py @@ -42,7 +42,6 @@ def delete_posts(driver, post_content_element = driver.find_element_by_class_name(post_content_sel) post_content_ts = driver.find_element_by_class_name(post_timestamp_sel) - # Archive the post archive_wall_post.archive( Post(