diff --git a/deletefb/deletefb.py b/deletefb/deletefb.py index 4ae28e0..edc593d 100755 --- a/deletefb/deletefb.py +++ b/deletefb/deletefb.py @@ -46,6 +46,7 @@ def delete_posts(user_email_address=None, user_password, user_profile_url)), "Insufficient arguments provided" + # The Chrome driver is required because Gecko was having issues chrome_options = Options() prefs = {"profile.default_content_setting_values.notifications" : 2} chrome_options.add_experimental_option("prefs", prefs) @@ -82,14 +83,21 @@ def delete_posts(user_email_address=None, menu = driver.find_element_by_css_selector("#globalContainer > div.uiContextualLayerPositioner.uiLayer > div") actions.move_to_element(menu).perform() + try: delete_button = menu.find_element_by_xpath("//a[@data-feed-option-name=\"FeedDeleteOption\"]") + + # FIXME Using a bare except here to avoid having to handle all possible exceptions except: delete_button = menu.find_element_by_xpath("//a[@data-feed-option-name=\"HIDE_FROM_TIMELINE\"]") actions.move_to_element(delete_button).click().perform() confirmation_button = driver.find_element_by_class_name("layerConfirm") + + # Facebook would not let me get focus on this button without some custom JS driver.execute_script("arguments[0].click();", confirmation_button) + + # Required to sleep the thread for a bit after using JS to click this button time.sleep(5) driver.refresh()