1. 程式人生 > >Selenium系列(七) - 切換iframe

Selenium系列(七) - 切換iframe

如果你還想從頭學起Selenium,可以看看這個系列的文章哦!

https://www.cnblogs.com/poloyy/category/1680176.html

 

其次,如果你不懂前端基礎知識,需要自己去補充哦,博主暫時沒有總結(雖然我也會,所以我學selenium就不用複習前端了哈哈哈...)

 

儲存iframe.html到本地

後面程式碼針對此簡單頁面寫小案例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<p id="p1">你好,小菠蘿測試筆記</p>

<iframe id="iframe1" src="http://www.baidu.com" height="300px" width="80%">
</iframe>

<a href="https://www.cnblogs.com/poloyy/" id="out">訪問小菠蘿測試筆記</a>

</body>
</html>

 

iframe操作有哪些?

  • 切換到iframe
  • 切換回主頁面

比較簡單,不展開講了~就兩個方法而已~直接看程式碼啦!

# !/usr/bin/env python
# -*- coding: utf-8 -*-

"""
__title__  =
__Time__   = 2020/3/25 17:52
__Author__ = 小菠蘿測試筆記
__Blog__   = https://www.cnblogs.com/poloyy/
"""

from selenium import webdriver

# 載入驅動,路徑自己配置
driver = webdriver.Chrome("../resources/chromedriver.exe")

# html頁面路徑需要自己配置
driver.get(
    "file:///F:/iframe.html")
driver.maximize_window()

# 找到iframe元素
iframe1 = driver.find_element_by_id("iframe1")

# ===切換至iframe===
driver.switch_to.frame(iframe1)

# 找到iframe中頁面的元素
# 找到搜尋框
inputElement = driver.find_element_by_id("kw")

# 輸入搜尋內容
inputElement.send_keys("小菠蘿測試筆記")

# 找到搜尋按鈕
searchElement = driver.find_element_by_id("su")

searchElement.click()

# ===切換回主頁面===
driver.switch_to.default_content()

# 點選主頁面元素
driver.find_element_by_id("out").click()

注意

WebDriver是提供了 driver.switch_to_frame()、driver.switch_to_default_content() 這兩個方法的,和上面說的效果一樣,只是這個已經過時了,不建議