python实战005:Selenium模拟账户登录
前⾯我通过跳转到了百度登录界⾯,接着我们就要实现模拟登录了,这⾥我们需要在两个input框中分别输⼊我们的⽤户名和密码。
同样我们⾸先要做的就是获取当前input标签的DOM元素信息,按F12打开“开发者⼯具”窗⼝,⽤元素选择器分别点中“input”框即可定位到该标签的源码位置。
这是⽤户名的input框源码:<input id="TANGRAM__PSP_10__userName" type="text" name="userName" class="pass-text-input pass-text-input-userName" autocomplete="off" value="" placeholder="⼿机/邮箱/⽤户名"> ,这⾥可以看到同样有个ID属性
的标签,这样我们就可以直接使⽤find_element_by_id⽅法定位到该元素即可。
接下来我们就要在该input框中输⼊我们的⽤户名信息了,这时我们要⽤到send_keys⽅法,⽤于在⼀个输⼊框内输⼊指定的内容 ,利⽤同样的⽅法到源码<input id="TANGRAM__PSP_10__password" type="password" name="password" class="pass-text-input pass-text-input-password" autocomplete="off" value="" placeholder="密码">,再把我们的密码也键⼊到代码中让其⾃动输⼊即可。
最后要做的就是点击我们的“登录”按钮了,到对应的源码<input id="TANGRAM__PSP_10__submit"
type="submit" value="登录" class="pass-button pass-button-submit">,同样这⾥可以看到同样有个ID属性的标签,这样我们照样可以直接使⽤
find_element_by_id⽅法定位到该元素即可。
from selenium import webdriver
from time import sleep
browser = webdriver.Chrome()
<('www.baidu')
sleep(2) #等待⽹页加载
browser.find_element_by_css_selector('#u1 .lb').click() #通过class来获取DOM元素
#browser.find_element_by_css_selector("#u1 > a[name='tj_login']").click() #通过标签来获取取DOM元素
input标签placeholder属性sleep(2) #等待⽹页加载
browser.find_element_by_id('TANGRAM__PSP_10__footerULoginBtn').click()
browser.find_element_by_id('TANGRAM__PSP_10__userName').send_keys('***')
browser.find_element_by_id('TANGRAM__PSP_10__password').send_keys('***')
browser.find_element_by_id('TANGRAM__PSP_10__submit').click()
通过以上代码我们就可以实现通过Selenium模拟打开浏览器并实现⾃动输⼊⽤户名和密码再登录系统,不过这⾥我们设置了安全验证所以没有直接登录成功(把安全验证关了即可直接登录了)。
百度经验:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论