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的资料请关注其它相关文章!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

评论(0)