|
@ -41,6 +41,15 @@ def run_delete(): |
|
|
help="The link to your Facebook profile, e.g. https://www.facebook.com/your.name" |
|
|
help="The link to your Facebook profile, e.g. https://www.facebook.com/your.name" |
|
|
) |
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
parser.add_argument( |
|
|
|
|
|
"-F", |
|
|
|
|
|
"--two-factor", |
|
|
|
|
|
required=False, |
|
|
|
|
|
dest="two_factor_token", |
|
|
|
|
|
type=str, |
|
|
|
|
|
help="The code generated by your 2FA device for Facebook" |
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
parser.add_argument( |
|
|
parser.add_argument( |
|
|
"-H", |
|
|
"-H", |
|
|
"--headless", |
|
|
"--headless", |
|
@ -58,13 +67,15 @@ def run_delete(): |
|
|
user_email_address=args.email, |
|
|
user_email_address=args.email, |
|
|
user_password=args_user_password, |
|
|
user_password=args_user_password, |
|
|
user_profile_url=args.profile_url, |
|
|
user_profile_url=args.profile_url, |
|
|
is_headless=args.is_headless |
|
|
is_headless=args.is_headless, |
|
|
|
|
|
two_factor_token=args.two_factor_token |
|
|
) |
|
|
) |
|
|
|
|
|
|
|
|
def delete_posts(user_email_address, |
|
|
def delete_posts(user_email_address, |
|
|
user_password, |
|
|
user_password, |
|
|
user_profile_url, |
|
|
user_profile_url, |
|
|
is_headless): |
|
|
is_headless, |
|
|
|
|
|
two_factor_token): |
|
|
""" |
|
|
""" |
|
|
user_email_address: str Your Email |
|
|
user_email_address: str Your Email |
|
|
user_password: str Your password |
|
|
user_password: str Your password |
|
@ -89,6 +100,7 @@ def delete_posts(user_email_address, |
|
|
email = "email" |
|
|
email = "email" |
|
|
password = "pass" |
|
|
password = "pass" |
|
|
login = "loginbutton" |
|
|
login = "loginbutton" |
|
|
|
|
|
approvals_code = "approvals_code" |
|
|
|
|
|
|
|
|
emailelement = driver.find_element_by_name(email) |
|
|
emailelement = driver.find_element_by_name(email) |
|
|
passwordelement = driver.find_element_by_name(password) |
|
|
passwordelement = driver.find_element_by_name(password) |
|
@ -100,10 +112,25 @@ def delete_posts(user_email_address, |
|
|
loginelement.click() |
|
|
loginelement.click() |
|
|
|
|
|
|
|
|
if "two-factor authentication" in driver.page_source.lower(): |
|
|
if "two-factor authentication" in driver.page_source.lower(): |
|
|
|
|
|
|
|
|
|
|
|
if two_factor_token: |
|
|
|
|
|
|
|
|
|
|
|
twofactorelement = driver.find_element_by_name(approvals_code) |
|
|
|
|
|
twofactorelement.send_keys(two_factor_token) |
|
|
|
|
|
|
|
|
|
|
|
#Submits after the code is passed into the form, does not validate 2FA code. |
|
|
|
|
|
contelement = driver.find_element_by_id("checkpointSubmitButton") |
|
|
|
|
|
contelement.click() |
|
|
|
|
|
|
|
|
|
|
|
#Defaults to saving this new browser, this occurs on each new automated login. |
|
|
|
|
|
save_browser = driver.find_element_by_id("checkpointSubmitButton") |
|
|
|
|
|
save_browser.click() |
|
|
|
|
|
else: |
|
|
# Allow time to enter 2FA code |
|
|
# Allow time to enter 2FA code |
|
|
print("Pausing to enter 2FA code") |
|
|
print("Pausing to enter 2FA code") |
|
|
time.sleep(20) |
|
|
time.sleep(20) |
|
|
print("Continuing execution") |
|
|
print("Continuing execution") |
|
|
|
|
|
|
|
|
driver.get(user_profile_url) |
|
|
driver.get(user_profile_url) |
|
|
|
|
|
|
|
|
for _ in range(MAX_POSTS): |
|
|
for _ in range(MAX_POSTS): |
|
|