frame标签有frameset、frame、iframe三种,frameset和其它普通标签没有区别,不会影响正常定位,而frame与iframe对selenium定位而言是一样的。
Selenium有以下方法对frame进行操作。
示例网站:http://sahitest.com/demo/framesTest.htm
示例脚本:
from selenium import webdriver from time import sleep class TestFrame(object): def setup(self): self.driver = webdriver.Chrome() self.driver.get("http://sahitest.com/demo/framesTest.htm") def test_frame(self): top = self.driver.find_element_by_name("top") # 切换到上面的frame self.driver.switch_to.frame(top) #点击上面frame中的Link Test链接,打开新页面 self.driver.find_element_by_xpath("/html/body/table/tbody/tr/td[1]/a[1]").click() #切换到主页面 self.driver.switch_to.default_content() sleep(3) # 切换到下面的frame second = self.driver.find_element_by_xpath("/html/frameset/frame[2]") self.driver.switch_to.frame(second) # 点击下面frame中的Form Test链接,打开新页面 self.driver.find_element_by_xpath("/html/body/table/tbody/tr/td[1]/a[2]").click() sleep(2) self.driver.quit() if __name__ == '__main__': frame = TestFrame() frame.test_frame()
以上来自:极客时间课程:selenium自动化测试课程学习总结。
以上就是python自动化测试selenium定位frame及iframe示例的详细内容,更多关于selenium定位frame及iframe的资料请关注服务器之家其它相关文章!
原文链接:https://blog.csdn.net/aovenus/article/details/121181039