selenium登录xxx的程序:自动判断登录成功还是失败
import selenium
import selenium.webdriver
import time
"""
selenium登录xxx的程序:自动判断登录成功还是失败
"""
def login(username,password):
driver = selenium.webdriver.Chrome(r"C:\Users\xxx\Desktop\chromedriver.exe")
driver.get("https://account.xxxx.com/signin?returnUrl=https%3A%2F%2Fwww.xxx.com%2F")
time.sleep(3)
name_elem = driver.find_element_by_id("LoginName")
pwd_elem = driver.find_element_by_id("Password")
name_elem.send_keys(username)
pwd_elem.send_keys(password)
time.sleep(3)
button_elem = driver.find_element_by_id("submitBtn")
button_elem.click()
time.sleep(10)
pagesource = driver.page_source
return pagesource.find(u"退出") != -1
print(login("xxx","xxxxx"))
无界面浏览器
import selenium
import selenium.webdriver
import time
"""
无界面浏览器
作用:我们在前台开放太多的浏览器资源并不是一个明智的选择,这样可以使用无界面浏览器进行替代
"""
path = "../driver/phantomjs.exe"
driver = selenium.webdriver.PhantomJS(path)
driver.get("http://www.qq.com")
time.sleep(3)
driver.save_screenshot("qq.jpg")
print(driver.title)
print(driver.page_source)
driver.close()
QQ空间的登录(failed)
import selenium
import selenium.webdriver
import time
"""
QQ空间
第一个问题:
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"[id="switcher_plogin"]"}
QQ空间并没有登陆成功
"""
path = r"C:\Users\xxxx\Desktop\chromedriver.exe"
driver = selenium.webdriver.Chrome(path)
driver.get("https://qzone.qq.com")
time.sleep(5)
driver.switch_to.frame("login_frame")
a_elem = driver.find_element_by_id("switcher_plogin")
a_elem.click()
time.sleep(1)
name_elem = driver.find_element_by_id("u")
name_elem.send_keys("xxxxxx")
pwd_elem = driver.find_element_by_id("p")
pwd_elem.send_keys("xxxxx")
button_elem = driver.find_element_by_id("login_button")
button_elem.click()
time.sleep(3)
print(driver.page_source)