selenium定位frame中的对象

再web应用中经常会出现frame嵌套的应用,假设页面上有A,B两个frame,其中B在A内,那么定位B中的内容则需要先到A,再到B。

switch_to_frame方法可以把当前定位的主题切换到frame里,在frame里实际是嵌套了另外一个页面,而webdriver每次只能在一个页面识别,所以switch_to_frame方法去获取frame中嵌套的页面。

driver.switch_to.frame('frame 1')  #移动到id为frame 1的frame上
print driver.find_element_by_css_selector("#div1").text
   
driver.switch_to.default_content()  #将识别的主体切换出frame
print driver.find_element_by_css_selector("#id1").text

备注:
switch_to.frame的参数必须是id或者是name,所以一个frame只要有id和name处理起来很容易。如果没有的话,两种解决思路:
1、让开发加上id或者name
2、使用xpath等方式定位然后实现跳转

猜你喜欢

转载自www.cnblogs.com/TD1900/p/11975719.html
今日推荐