码迷,mamicode.com
首页 > 其他好文 > 详细

学习Selenium元素定位--多表单切换

时间:2019-01-11 11:33:03      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:浏览器   use   遇到   sele   无法   无法定位   strong   iframe   mail   

  在Web应用中经常会遇到frame/iframe表单嵌套页面的应用,WebDriver只能在一个页面上对元素识别与定位,对于frame/iframe表单内嵌页面上的元素无法直接定位。这时就需要通过switch_to.frame()方法将当前定位的主体切换为frame/iframe表单的内嵌页面中。

#!/usr/bin/env/ python
# coding:utf-8
# Date:2019/1/10
from selenium import webdriver
import time
#打开浏览器-Chrome
driver = webdriver.Chrome()
#进入网页
driver.get(https://mail.126.com)
#等待10s
time.sleep(10)

# driver.switch_to.frame(‘x-URS-iframe‘)

# xf = driver.find_element_by_xpath(‘//*[@id="x-URS-iframe\*"]‘)
# driver.switch_to.frame(xf)
#定位iframe元素
xf = driver.find_element_by_tag_name("iframe")
driver.switch_to.frame(xf)
#清空email栏位
driver.find_element_by_name(email).clear()
#输入登陆名
driver.find_element_by_name(email).send_keys(username)
#清空密码栏位
driver.find_element_by_name(password).clear()
#输入密码
driver.find_element_by_name(password).send_keys(password)
#点击登陆按钮
driver.find_element_by_id(dologin).click()
driver.switch_to.default_content()

time.sleep(5)

driver.quit()

由于无法直接使用 driver.switch_to.frame(‘x-URS-iframe‘) 进行定位iframe表单,使用xpath也无法定位iframe元素,所以最终参照使用了find_element_by_tag_name

进行定位。

学习Selenium元素定位--多表单切换

标签:浏览器   use   遇到   sele   无法   无法定位   strong   iframe   mail   

原文地址:https://www.cnblogs.com/ruichow/p/10253735.html

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