700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > selenium模拟登录豆瓣和qq空间

selenium模拟登录豆瓣和qq空间

时间:2019-04-22 00:28:23

相关推荐

selenium模拟登录豆瓣和qq空间

selenium模拟登录豆瓣和qq空间

今天又重新学习了下selenium,模拟登录豆瓣,发现设置等待时间真的是很重要的一步,不然一直报错:mon.exceptions.NoSuchElementException: Message: no such element: Unable to locate element

另外,豆瓣的主页(/)使用了iframe嵌套了登录页面:<iframe style="height: 300px; width: 300px;" frameborder='0' src="///passport/login_popup?login_source=anony"></iframe>,所以模拟登录的时候直接访问登录页面就好。

很多人学习python,不知道从何学起。

很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。

很多已经做案例的人,却不知道如何去学习更加高深的知识。

那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!

QQ群:101677771

from selenium import webdriverimport timedriver=webdriver.Chrome(executable_path='D:/chromedriver.exe')driver.get('/')#driver.find_element_by_class_name('account-body-tabs').click()driver.find_element_by_class_name('account-tab-account').click()driver.find_element_by_id('username').clear()driver.find_element_by_id('username').send_keys('username')driver.find_element_by_id('password').clear()driver.find_element_by_id('password').send_keys('password')driver.find_element_by_class_name('account-form-field-submit').click()#time.sleep(10)driver.implicitly_wait(10) #设置隐式等待时间driver.find_element_by_link_text('读书').click()#time.sleep(10)driver.implicitly_wait(10)driver.close()

原来selenium是有一个方法switch_to.frame可以切换到iframe框架的,那上面也可以直接从豆瓣主页开始登录的。站在巨人肩膀上的感觉不错呀。如果iframe没有id和name属性的话可以先通过tag定位。

下面利用switch_to.frame进行模拟qq空间的登录:

from selenium import webdriverimport timedriver=webdriver.Chrome(executable_path='D:/chromedriver.exe')driver.maximize_window()driver.get('/')driver.switch_to.frame('login_frame')driver.find_element_by_id('switcher_plogin').click()driver.find_element_by_class_name('inputstyle').clear()driver.find_element_by_class_name('inputstyle').send_keys('1555555')driver.find_element_by_css_selector("[class='inputstyle password']").clear()driver.find_element_by_css_selector("[class='inputstyle password']").send_keys('123456')driver.find_element_by_id('login_button').click() #后面还有一个拖动滑块的安全验证,还不会print(driver.current_url) #可以查看当前页面的urltime.sleep(10)driver.close()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。