python3+selenium入门10-表单切换


当元素在ifarm或farm中时,需要先进入到表单中,然后才能定位元素进行操作。直接对元素定位。会提示元素无法找到。

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<iframe id = 'if' src="https://www.baidu.com" width="800" height='300'>
</iframe>
</body>
</html>

将上面HTML代码保存在文本编辑器中,不要在windows的笔记本中。文件名随便,后缀名.html或htm

使用switch_to.frame()可以切换表单,默认使用id或name定位,可以直接传对应的值。如果没有id或name属性,那就只能通过其他方式定位到之后再传进去

from selenium import webdriver
dr = webdriver.Chrome()
dr.maximize_window()
dr.get('file:///C:/Users/ms/Desktop/dr.html')
dr.switch_to.frame('if')
st = dr.find_element_by_id('kw')#定位搜索输入框
st.send_keys('selenium')

可以试一下,把切换表单的代码去掉,是会提示元素无法找到的。

使用driver.switch_to.parent_frame(),如果是多层frame,可以从子frame跳回到父frame

使用driver.switch_to.default_content() 切换回主文档,也就是跳出所有frame


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM