码迷,mamicode.com
首页 > 编程语言 > 详细

python3+selenium入门10-表单切换

时间:2018-07-27 17:03:01      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:frame   window   win   element   driver   widget   from   isp   无法找到   

当元素在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

python3+selenium入门10-表单切换

标签:frame   window   win   element   driver   widget   from   isp   无法找到   

原文地址:https://www.cnblogs.com/myal/p/9378361.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!