VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > python入门教程 >
  • selenium 小技巧集合(三)

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

# 创建浏览器驱动对象
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()

出处:https://www.cnblogs.com/junfanzy/p/17292706.html

相关教程