Selenium向iframe富文本框輸入內(nèi)容過程圖解
前言
在使用Selenium測試一些CMS后臺系統(tǒng)時,有時會遇到一些富文本框,如下圖所示:
整個富文本編輯器是通過iframe嵌入到網(wǎng)頁中的,手動嘗試輸入內(nèi)容,發(fā)現(xiàn)內(nèi)容是輸入到iframe頁面的body中的,
這種富文本框怎么輸入呢?
我們也可以直接在body的源碼上點擊右鍵選擇Edit HTML,輸入相應(yīng)的html代碼,達到向富文本框輸入的目的,如下下圖:
以下是使用Selenium的操作方法
只輸入純文本
如果只輸入不帶格式的純文本,可以先切換到這個iframe,然后定位到body,send_keys相應(yīng)的文本即可,代碼如下:
from selenium import webdriver dr = webdriver.Chrome() dr.get('http://www.vemmis.com/bjq/index.html') dr.switch_to.frame('ueditor_0') dr.find_element('tag name', 'body').send_keys('hello')
運行完,顯示如下:
通過JS注入HTML代碼
如果想輸入帶html格式的文本可以通過js注入,代碼如下:
from selenium import webdriver dr = webdriver.Chrome() dr.get('http://www.vemmis.com/bjq/index.html') js = "document.querySelector('#ueditor_0').contentDocument.querySelector('body').innerHTML='<h1>Hello</h1>'" dr.execute_script(js)
運行完效果如下
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python多線程semaphore實現(xiàn)線程數(shù)控制的示例
這篇文章主要介紹了python多線程semaphore實現(xiàn)線程數(shù)控制的示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-08-08python實現(xiàn)的多任務(wù)版udp聊天器功能案例
這篇文章主要介紹了python實現(xiàn)的多任務(wù)版udp聊天器功能,結(jié)合具體案例形式分析了Python基于udp的聊天器功能相關(guān)實現(xiàn)與使用技巧,需要的朋友可以參考下2019-11-11Python操作使用MySQL數(shù)據(jù)庫的實例代碼
本篇文章主要介紹了Python 操作 MySQL的實例代碼,詳細介紹了Python如何連接數(shù)據(jù)庫和對數(shù)據(jù)的增刪查改,有興趣的可以了解一下2017-05-05Python使用到第三方庫PyMuPDF圖片與pdf相互轉(zhuǎn)換
今天為大家介紹個比較簡單的Python第三方庫PyMuPDF進行圖片和pdf之間的相互轉(zhuǎn)換,以下就是利用PyMuPDF進行pdf與圖片之間的互轉(zhuǎn)2019-05-05Django Form設(shè)置文本框為readonly操作
這篇文章主要介紹了Django Form設(shè)置文本框為readonly操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07