Selenium切换frame表单

提示:常用的frame表单有两种:frame、iframe。

1、切换的原因:当前主目录内没有iframe表单页面元素信息,不切换,找不到元素。

2、切换的方法:driver.switch_to.frame("id\name\element")

3、切换回主目录原因:iframe或frame只有在主目录才有相关元素信息,不回到主目录,切换语句会报错。

4、回到主目录方法:driver.switch_to.default_content()

5、提示:切换frame时,可以使用name、id、iframe元素

网页代码如下:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
	</head>
	<body>
		<form action="" style="height: 700px;">
			账号:<input id="user" type="text" /><br />
		        密码:<input id="pass" type="text"/><br />
		    <input type="button" value="登录" />
		</form>
		<iframe src="index1.html" name="iframe1" width="500px"></iframe>
		<iframe src="index2.html" name="iframe2" width="500px"></iframe>
	</body>
</html>

切换frame表单案例:

from selenium import webdriver
from time import sleep

#获取浏览器对象
driver=webdriver.Firefox()
#driver.maximize_window()
driver.implicitly_wait(10)

#设置网络链接
url="http://127.0.0.1:8020/test/index.html?__hbt=1573653016890"
driver.get(url)
"""
目标:切换frame表单
需求:(主页面包含index1和index2)
打开主(默认)登录页面index.html,填写账号和密码
再填写index1.html中的信息
最后填写index2.html中的信息
"""
#主页面信息填入
driver.find_element_by_css_selector("#user").send_keys("user")
driver.find_element_by_css_selector("#pass").send_keys("pass")
sleep(1)
#滚动到页面底部
js="window.scrollTo(0,10000)"
driver.execute_script(js)

#切换到index1
driver.switch_to.frame("iframe1")
driver.find_element_by_css_selector("#user1").send_keys("user1")
driver.find_element_by_css_selector("#pass1").send_keys("pass1")


#切换到主界面(index1页面没有index2的inframe),从主界面切换到index2
driver.switch_to.default_content()
driver.switch_to.frame("iframe2")

#index2信息填入
driver.find_element_by_css_selector("#user2").send_keys("user2")
driver.find_element_by_css_selector("#pass2").send_keys("pass2")

sleep(2)
driver.quit()

实现效果:

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值