find_element_by_id() # 通過 id 查詢元素
find_element_by_name() # 通過 name 查詢元素
find_element_by_class_name() # 通過class name 查詢元素
find_element_by_xpath() # 通過xpath查詢元素
find_element_by_link_text() # 通過文字內容查詢元素
有的時候會出現查詢不到元素的情況,也許是 frame 的問題,我們可以通過切換 frame 來查詢我們需要獲取的元素
關於 frame 介紹
frame是 html 框架結構常用的一種布局格式,共有三種形式: frameset frame iframeframeset :將 html 頁面分割,可以嵌入多個 html 原始碼檔案,實現單個頁面顯示不同 html 頁面效果,不能嵌入在 body 標籤中
frame: 在 frameset 下面設定 frame,實現某個框架頁面,必須巢狀在 franmeset 中,無法單獨存在.
iframe:在某個頁面嵌入乙個 html 視窗資訊,可脫離 frameset 應用,框架屬性有自己定義.
frameset在分割頁面後,可以由 frame 和 iframe
嵌入頁面資訊,frame 僅能在 frameset 中應用,iframe 則無此限制.
fraameset 與 html 其他標籤相同,不影響正常的元素定位,但 frame 及 iframe 則不同,在定位元素過程中,需先定位 frame 及 iframe
from selenium import webdriver
driver = webdriver.firefox()
# 通過 id 定位
driver.switch_to.frame('id')
# 通過 name 定位
driver.switch_to.frame('name')
# 通過索引定位
driver.switch_to.frame(0)
如果 frame 沒有 id 或 name ,則可以索引值,也可以利用先查詢 web element 物件在切換 frame 的方法進行,查詢 web element 可以利用 find element 方式
當某個 frame 中巢狀了其他的 frame 時,切換 frame 則需以巢狀結構逐層切換
切換到某個具體的 frame 中一周,selenium 不能定位主文件中的元素,如果想定位主文件中的元素,需要切回到主文件中,driver. switch_to.defaullt_content()
Python Selenium環境搭建
安裝python 設定 python 的環境變數 安裝目錄 安裝目錄 scripts 使用 pip安裝 selenium pip install selenium 安裝完python pip工具,在安裝目錄的 scripts 目錄下。在 dos下直接執行 pip install selenium 即...
Python Selenium 學習筆記
1 判斷元素是否存在 try driver.find element.xx a true except a false if a true print 元素存在 elif a false print 元素不存在 2 判斷元素是否顯示 driver.find element by id outputb...
Python Selenium錯誤小結
因為要使用web應用,所以開始用起了,selenium包,安裝倒是挺容易的,但就是出了很多bug。filenotfounderror winerror 2 系統找不到指定的檔案。通過錯誤反饋發現是要把該軟體加到路徑裡面,但是,設定了系統環境變數後發現還是不行,最後,使用了乙個非常原始的方法 brow...