使用selenium模拟动态登录百度页面的实现
作者:pennyyangpei
本文主要介绍了使用selenium模拟动态登录百度页面,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
目标:模拟手动登录百度页面的过程,打开chrome浏览器,输入百度网址,进入百度网页,点击登录,输入账号和密码,进入登录页面。
代码演示过程:
from selenium import webdriver import time # 1.打开浏览器 driver = webdriver.Chrome() # 2.设置地址 url = "https://www.baidu.com/" # 3.访问网址 driver.get(url)
访问到百度页面后,需要模拟点击“登录”按钮。找到“登录”按钮的元素如下所示:
根据id = ‘u1’和class=’lb’找到“登录”按钮
# 4.分析网页,找到登录元素 # login = driver.find_elements_by_id('u1').find_elements_by_class_name('lb')[0] #方法一 # login = driver.find_elements_by_css_selector('div[id=u1] a[class=lb]')[0] #方法二 #5.点击登录按钮 login.click()
*注意点击登录按钮以后,要稍微等待一会。 点击登录以后,界面如下:
接下来需要模拟点击“用户名登录”按钮,找到“用户名登录”按钮的元素如下所示:
根据p标签下的class=”tang-pass-footerBarULogin pass-link”找到用户名登录,注意这个class里有两个同级类名,中间有个空格,在css选择器里写的时候就只需要写一个类名就行,否则中间有空格,如果写成’p.tang-pass-footerBarULogin pass-link’,就表示p标签下的类名为tang-pass-footerBarULogin的下一个类名为pass-link的类。
#点击之后要加等待时间 time.sleep(2) #6.找到登录界面的 用户名登录 #选择p标签下的class,<p class="tang-pass-footerBarULogin pass-link"> usernamelogin = driver.find_elements_by_css_selector('p.tang-pass-footerBarULogin')[0] #7.点击它,进入账号密码输入界面 usernamelogin.click()
点击“用户名登录”后,进入输入账号和密码界面。 找到账号输入框的元素如下所示:
找到密码输入框的元素如下所示:
找到登录输入框的元素如下所示:
#点击之后要加等待时间 time.sleep(2) #8.找到 输入 用户名 和密码框,并且设置内容 #<input id="TANGRAM__PSP_10__userName"> username = driver.find_element_by_id('TANGRAM__PSP_10__userName') #输入账号名 username.send_keys('xxxxx') time.sleep(1) #<input id="TANGRAM__PSP_10__password"> password = driver.find_element_by_id('TANGRAM__PSP_10__password') #输入密码 password.send_keys('xxxxxx') time.sleep(1) #<input id="TANGRAM__PSP_10__submit"> submit = driver.find_element_by_id('TANGRAM__PSP_10__submit') submit.click()
到此这篇关于使用selenium模拟动态登录百度页面的实现的文章就介绍到这了,更多相关selenium模拟动态登录百度页面内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!