Python+Selenium 定位页面
1.跳转到Frame/Iframe ,再定位元素 理解:frame的实质,frame中实际上是嵌入了另一个页面,而webdriver每次只能在一个页面识别,因此需要先定位到相应的frame,对那个页面里的元素进行定位
1.1方法一 如果iframe有name或id的话,直接使用switch_to_frame("name值")或switch_to_frame("id值")。如下: driver=webdriver.Firefox() driver.get(r' http://www.126.com/ ') driver.switch_to_frame('x-URS-iframe') #需先跳转到iframe框架 username=driver.find_element_by_name('email') username.clear()
1.1方法二 如果iframe没有name或id的话,则可以通过下面的方式定位: #先定位到iframe elementi= driver.find_element_by_class_name('APP-editor-iframe') #再将定位对象传给switch_to_frame()方法 driver.switch_to_frame(elementi)
PS:完成操作后,可以通过switch_to.parent_content()方法跳出当前iframe,或者还可以通过switch_to.default_content()方法跳回最外层的页面
2.Xpath 层级定位 2.1 通过绝对路径定位