Browse Source

Merge branch 'master' of github.com:weskerfoot/DeleteFB into remove-likes

pull/23/head
Wesley Kerfoot 6 years ago
parent
commit
0cd246b32c
  1. 12
      deletefb/deletefb.py
  2. 33
      deletefb/tools/login.py

12
deletefb/deletefb.py

@ -35,6 +35,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",
@ -52,7 +61,8 @@ 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
) )
wall.delete_posts(driver) wall.delete_posts(driver)

33
deletefb/tools/login.py

@ -6,7 +6,8 @@ from seleniumrequests import Chrome
def login(user_email_address, def login(user_email_address,
user_password, user_password,
user_profile_url, user_profile_url,
is_headless): is_headless,
two_factor_token):
""" """
Attempts to log into Facebook Attempts to log into Facebook
Returns a driver object Returns a driver object
@ -35,21 +36,35 @@ def login(user_email_address,
email = "email" email = "email"
password = "pass" password = "pass"
login = "loginbutton" login = "loginbutton"
approvals_code = "approvals_code"
email_element = driver.find_element_by_name(email) emailelement = driver.find_element_by_name(email)
password_element = driver.find_element_by_name(password) passwordelement = driver.find_element_by_name(password)
email_element.send_keys(user_email_address) emailelement.send_keys(user_email_address)
password_element.send_keys(user_password) passwordelement.send_keys(user_password)
login_element = driver.find_element_by_id(login) loginelement = driver.find_element_by_id(login)
login_element.click() loginelement.click()
if "Two-factor authentication" in driver.page_source: 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)
return driver return driver

Loading…
Cancel
Save