iframe切换
iframe,又叫浮动帧标记,是内嵌的网页元素,可以将一个html文件嵌入到另一个html文件中显示
对iframe进行操作,需要用到以下三种方法:
switch_to_iframe() 切换到iframe上(未来会被删除,不建议使用)
switch_to.frame() 切换到iframe上
switch_to.default_content() 切换回原主页面
通过如下方式进行切换操作
#定位到iframe
iframe=driver.find_element_by_id("x-URS-iframe")
#切换到iframe
driver.switch_to_frame(iframe)
from selenium import webdriver
import time
driver = webdriver.Chrome("D:\\tool\selenium\chromedriver.exe")
# 隐式等待
driver.implicitly_wait(5)
driver.get("D:\\test\script\study\seleniumStu\day3\\test.html")
"""
对iframe进行操作,需要用到以下三种方法:
switch_to_iframe() 切换到iframe上
switch_to.frame() 切换到iframe上
switch_to.default_content() 切换回原主页面
"""
iframe = driver.find_element_by_id("f91fb5bc-bd95-45bf-bd77-977a2afbd25f")
driver.switch_to.frame(iframe)
driver.find_element_by_id("e4890ded-16e1-4445-bf8e-7f655793f332").send_keys("haha")
time.sleep(5)
driver.quit()
多标签页切换
在页面操作过程中有时候点击某个链接会弹出新的窗口,这时就需要切换到新打开的窗口上进行操作。WebDriver提供了以下方法
current_window_handle:获得当前标签页句柄
window_handles:返回所有便签页的句柄
switch_to.window(标签页句柄):切换到对应的标签页
关闭标签页使用 close 方法
from selenium import webdriver标签:技巧,selenium,driver,element,switch,切换,iframe,集合,find From: https://www.cnblogs.com/junfanzy/p/17292706.html
# 创建浏览器驱动对象
driver = webdriver.Chrome()
# 访问网址
driver.get("http://www.baidu.com")
# 找到搜索按钮
input_element = driver.find_element_by_id("kw")
# 输入搜索内容
input_element.send_keys("松勤\n")
# 点击松勤教育官网
driver.find_element_by_css_selector("#\34 > h3 > a > em").click()
# 获得当前所有打开的窗口的句柄
all_handles = driver.window_handles
for handle in all_handles:
driver.switch_to.window(handle)
print(driver.title)
# 退出浏览器
driver.quit()