Skip to content

Instantly share code, notes, and snippets.

@NEJmark
Last active July 4, 2017 17:45
Show Gist options
  • Save NEJmark/6a22f358306acf25fa0179730cbd07a3 to your computer and use it in GitHub Desktop.
Save NEJmark/6a22f358306acf25fa0179730cbd07a3 to your computer and use it in GitHub Desktop.
selenium
## src: https://stackoverflow.com/questions/21681897/getting-all-attributes-from-an-iwebelement-with-selenium-webdriver
account = "xxx0@gmail.com"
pwd = "xxx"
get_attr = lambda driver, e:driver.execute_script('var items = {}; for (index = 0; index < arguments[0].attributes.length; ++index) { items[arguments[0].attributes[index].name] = arguments[0].attributes[index].value }; return items;', e)
import time,types
from selenium import webdriver
driver = webdriver.Chrome()
driver.get_attr = types.MethodType(get_attr,driver)
driver.get("https://accounts.google.com/signin/v2/identifier?continue=https%3A%2F%2Fmail.google.com%2Fmail%2F&service=mail&sacu=1&rip=1&flowName=GlifWebSignIn&flowEntry=ServiceLogin")
print("Open gmail login page")
driver.find_element_by_id("identifierId").clear()
print("clear completed")
driver.find_element_by_id("identifierId").send_keys(account)
driver.find_element_by_css_selector("[class='RveJvd snByac']").click()
print("finished ID input")
els= driver.find_elements_by_css_selector("[type='password']")
print(els)
print(driver.get_attr(els[0]))
time.sleep(2)
els= driver.find_elements_by_css_selector("[type='password']")
print(els)
print(driver.get_attr(els[0]))
driver.find_element_by_css_selector("[type='password']").clear()
driver.find_element_by_css_selector("[type='password']").send_keys(pwd)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment