通过selenium登录qq空间
- 在对qq空间的登录表单点击右键检查后发现,这个表单是在一个内嵌的窗口中,所以我们需要先切换到页面内嵌的窗口(iframe)中
- 然后在iframe中查找超链接、用户名、密码和登录按钮
- 最后直接用代码操控登录就可以了
from selenium import webdriver
import getpass
driver = webdriver.Chrome()
driver.get('https://qzone.qq.com/')
# 先切换到页面内嵌的窗口(iframe)中
iframe = driver.find_element_by_id('login_frame')
driver.switch_to.frame(iframe)
# 在iframe中去查找超链接、用户名、密码和登录按钮
anchor = driver.find_element_by_id('switcher_plogin')
anchor.click()
username_input = driver.find_element_by_id('u')
username = input('Username: ')
username_input.send_keys(username)
password_input = driver.find_element_by_id('p')
password = getpass.getpass()
password_input.send_keys(password)
login_button = driver.find_element_by_id('login_button')
login_button.click()
注意:在上面代码中需要输入自己的用户名和密码,如果直接在控制台输入,会让自己的密码显露出来,所以我们用了getpass三方库中的getpass()方法,然后在终端运行代码就可以在输入密码的时候不显示密码