IFRAME是HTML标签,作用是文档中的文档,或者浮动的框架(FRAME)。iframe元素会创建包含另外一个文档的内联框架(即行内框架)。
目录
1、分析网页源代码
分析代码可以得知,这个登录看是内嵌了一个iframe,我们如何通过利用python selenium 进行模拟登录呢?
2、编写程序代码
在这里我们主要用到一个driver.switch_to.frame(“iframeID”);方法,它可以切换到iframe框架内。
在切换前有一个最大加载时间,driver.implicitly_wait(30)也很重要,它的作用的是在设定时间范围内(单位:秒),如果页面加载完成,再进行下一步操作,如果网页响应时间比较久的,这个时间可以设定稍微久一点。
#!/usr/bin/python# -*- coding: UTF-8 -*-"""@author: Roc-xb"""from selenium import webdriverif __name__ == '__main__': # 加载chrome浏览器驱动 driver = webdriver.Chrome() # 打开网页地址 driver.get('http://jzjxjy.chinahrt.com/') # 最大等待时间30s driver.implicitly_wait(30) # 切换iframe框架 driver.switch_to.frame("iframe") # 输入账号 driver.find_element_by_name("userName").send_keys("422421197203060819") # 输入密码 driver.find_element_by_name("password").send_keys("123456") # 立即登录 driver.find_element_by_id("loginbtn").click()
提示,运行代码前,需要将与浏览器版本对应的Chrome浏览器驱动放置在python文件中的同级目录中,才可以正常运行,否则可能出现一个浏览器驱动加载异常等错误信息。
Original: https://blog.51cto.com/YangPC/5483089
Author: CorwinPC
Title: python selenium 如何选中iframe中的元素?
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/513575/
转载文章受原作者版权保护。转载请注明原作者出处!