selenium.切换iframe

mac2022-06-30  96

切换frame的方法

(配合HTML代码食用)

API注释.switch_to.frame(0)用frame的index来定位,第一个是0.switch_to.frame("baidu")用id来定位.switch_to.frame("百度")用name来定位.switch_to.frame(.find_element_by_tag_name("百度"))用WebElement对象来定位.switch_to.frame(.find_element_by_xpath("//iframe[contains(@id,'baidu')]"))用xpath定位,传入WebElement对象.switch_to.frame('baidu)frame一层一层的切入.switch_to.parent_frame()iframe退后操作,一层一层的退回.switch_to.default_content()切换到主页面

用来练习的HTML代码:

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <iframe id= "baidu" name="百度" src="http://www.BAIDU.com" HEIGHT="300" WIDTH="1280"></iframe> <iframe id= "sougou" name="搜狗" src="https://www.sogou.com/" HEIGHT="300" WIDTH="1280"></iframe> </body> </html>

练习步骤如下:

进入百度进行搜索退回主页进入搜狗进行搜索后退一层frame进入百度清空搜索框 点击查看代码 from selenium import webdriver from time import sleep url = "file:///C:/Users/BIN/Desktop/fra.html" browser = webdriver.Chrome() browser.get(url) browser.implicitly_wait(5) # 进入百度进行搜索 browser.switch_to.frame("baidu") browser.find_element_by_xpath("//*[@id='kw']").send_keys("selenium") # 退回主页 browser.switch_to.default_content() # 进入搜狗进行搜索 sleep(1) browser.switch_to.frame(1) browser.find_element_by_xpath("//*[@id='query']").send_keys("iframe") browser.find_element_by_xpath("//*[@id='stb']").click() # 后退一层frame # 这里退回只能退到主页,比如后退两次到之前的ifarme界面则不可以实现 sleep(1) browser.switch_to.parent_frame() # browser.switch_to.parent_frame() sleep(1) # 进入百度清空搜索框 browser.switch_to.frame("百度") browser.find_element_by_xpath("//*[@id='kw']").clear() sleep(1) browser.quit()

转载于:https://www.cnblogs.com/youngleesin/p/11360094.html

最新回复(0)