Selenium定位HTML元素(Python)
本篇不是介绍通过各种方法(id, name, tag_name, css, xpath等)定位HTML各元素的普及性文章,网络上各种文档和博客介绍得均比较全面。这里只是将自己实践中,遇到的个别问题及解决方案进行记录。
在此推荐Selenium官方文档(Python版):http://selenium.googlecode.com/svn/trunk/docs/api/py/index.html
可以搜索关键字,得到函数用法和源码。
下面记录定位HTML元素方面遇到的问题和解决方法(持续更新)。
1、无id的frame定位
问题描述:需要定位frame内的元素,但此frame无id。
解决方法:swich_to_frame( )函数定义如下:
1 def switch_to_frame(self, frame_reference): 2 """ 3 Switches focus to the specified frame, by index, name, or webelement. 4 5 :Args: 6 - frame_reference: The name of the window to switch to, an integer representing the index, 7 or a webelement that is an (i)frame to switch to. 8 9 :Usage: 10 driver.switch_to_frame(‘frame_name‘) 11 driver.switch_to_frame(1) 12 driver.switch_to_frame(driver.find_elements_by_tag_name("iframe")[0]) 13 """ 14 self.execute(Command.SWITCH_TO_FRAME, {‘id‘: frame_reference})
可知,参数frame_reference有3种形式。对于无id的frame,即可通过后2种参数,定位到此frame。相对来说,后2种参数更像是通过一个页面中所有frame的“相对位置”,来定位具体某一个frame;而第1种参数则是通过绝对的”名“来定位。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。