Browse Source

adds handling for 2fa code command-line argument

pull/28/head
Joseph D. Marhee 5 years ago
parent
commit
6146103942
  1. 39
      deletefb/deletefb.py

39
deletefb/deletefb.py

@ -41,6 +41,15 @@ def run_delete():
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(
"-H",
"--headless",
@ -58,13 +67,15 @@ def run_delete():
user_email_address=args.email,
user_password=args_user_password,
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,
user_password,
user_profile_url,
is_headless):
is_headless,
two_factor_token):
"""
user_email_address: str Your Email
user_password: str Your password
@ -89,6 +100,7 @@ def delete_posts(user_email_address,
email = "email"
password = "pass"
login = "loginbutton"
approvals_code = "approvals_code"
emailelement = driver.find_element_by_name(email)
passwordelement = driver.find_element_by_name(password)
@ -100,10 +112,25 @@ def delete_posts(user_email_address,
loginelement.click()
if "two-factor authentication" in driver.page_source.lower():
# Allow time to enter 2FA code
print("Pausing to enter 2FA code")
time.sleep(20)
print("Continuing execution")
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
print("Pausing to enter 2FA code")
time.sleep(20)
print("Continuing execution")
driver.get(user_profile_url)
for _ in range(MAX_POSTS):

Loading…
Cancel
Save