第22節:富文字框和editor編輯器的處理
一般輸入框有三種:
-
短的input框,如下:
<input id="zenInput2" class="zenInputDemo" type="text" style="position: static;">
-
textarea框,如下:
<textarea id="message1" name="message1"></textarea>
-
div式的editor框,如下:
-
也可能是更復雜的iframe的editor,如下:
下面依次看看這幾種輸入框該怎麼解決:
1. input
其實這個只是列在這裡,直接send_keys就行
2.textarea
很簡單,定位到元素,直接send_keys就行。
程式碼:
# -*- coding: utf-8 -*- from selenium import webdriver from time import sleep driver = webdriver.Firefox() driver.get('http://www.sucaijiayuan.com/api/demo.php?url=/demo/20150325-1') driver.maximize_window() driver.switch_to.frame('iframe') driver.find_element_by_id('message1'
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
結果:
Hello world!
- 1
3.div式的editor
這種一樣,定位到元素div,直接send_keys就行,不過這個send_keys不是到了‘value’屬性中,而是在text中。
# -*- coding: utf-8 -*- from selenium import webdriver from time import sleep driver = webdriver.Firefox() driver.get('http:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
結果:
Hello world again!
- 1
4.iframe中的editor
這種是最複雜的一種,但要搞明白了,其實也很簡單。
程式碼:
# -*- coding: utf-8 -*- from selenium import webdriver driver = webdriver.Chrome(executable_path='D:\py\AutoTestFramework\drivers\chromedriver.exe') driver.get('http://ueditor.baidu.com/website/examples/completeDemo.html') driver.switch_to.frame('ueditor_0') # 注意,這種editor一定有frame,一定要切frame body_string = """Hello world again again! Hello world again again! Hello world again again! Hello world again again!""" driver.find_element_by_tag_name('body').send_keys(body_string) # 直接往frame裡的body裡填內容,是不是很簡單粗暴 print driver.find_element_by_tag_name('body').text driver.quit()
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
結果:
Hello world again again!
- 1
其實frame editor的內容一般都是寫在裡面的body裡,最重要的就是切到frame中去.frame中一般是一個空的html,其中顯示的內容即是body中的內容。
相關推薦
第22節:富文字框和editor編輯器的處理
一般輸入框有三種: 短的input框,如下: <input id="zenInput2" class="zenInputDemo" type="text" style="position: static;"> textarea框,如下: &
selenium之 富文字框和editor編輯器的處理
在群裡經常會遇到有人問文字框的處理,今天有時間,便寫一點這方面的經驗。 一般輸入框有三種: 短的input框,如下: <input id="zenInput2" class="zenInputDemo" type="text" styl
Android零基礎入門第22節:ImageView的屬性和方法大全
子類 parent ide eight odin 使用詳解 統架構 討論 架構 通過前面幾期的學習,TextView控件及其子控件基本學習完成,可以在Android屏幕上顯示一些文字或者按鈕,那麽從本期開始來學習如何在進行圖片展示,這就是涉及到另外一個非常重要的控件家族,那
手動安裝K8s第九節:創建dashboard和發布應用
docker k8s kubernetes 容器 創建CoreDNS[root@k8smaster coredns]# lscoredns.yaml[root@k8smaster coredns]# kubectl create -f .serviceaccount "coredns
第56天:選中文字彈出提示框
targe round owb 效果 rom 技術分享 () doctype tid 一、選中文字彈出提示框 選擇文字: 這個彈出的層 選中的時候不出來,彈起鼠標的時候才出現 。 所以這個的事件一定是 onmouseup ,盒子顯示而且盒子的位置 在 鼠標的 cl
OpenGL第四節:滾動和矩陣棧
模型 ide bsp else glut render load errors 文件 頭文件不變 LUtil.h GLfloat gCameraX = 0.f, gCameraY = 0.f;//相機位置 bool initGL(){ glViewport(
第十節:數據批註(DataAnnotationModel)和自定義驗證(包括Model級別的驗證)
命名 ida model 特征 component es2017 服務器端 作用 技術 一. 簡介 寫完上一個章節MVC中的常用特性,迫不及待將該系列補全,該章節主要介紹數據批註(也叫:註解)。 一聽【數據批註】,好高大上的名字,但仔細一看,它們其實是【Syste
第9節:mode的設置和404頁面的處理
history 處理 scrip http scroll route 正常 查看 return 在學習過渡效果的時候,我們學了mode的設置,但是在路由的屬性中還有一個mode。這節課我們就學習一下另一個mode模式和404頁面的設置。 mode的兩個值 histroy:
第五節:SignalR大雜燴(與MVC融合、全局的幾個配置、跨域的應用、C/S程序充當Client和Server)
融合 變化 方法 signalr 以管理員身份運行 cal 大小 整合 ref 一. 說在前面的話 本節主要在前面章節的基礎上補充了幾個簡單的知識點,比如:第三方調用通過 GlobalHost.ConnectionManager.GetHubContext<
第38節:hashCode()與toString()與equals()函數的作用,內部類和匿名內部類
指向 它的 函數 ati 使用外部 開發 算法 博客 else hashCode()和toString() Hash算法是把任意長度的數據通過hash算法成為散列值 hashCode() public int hashCode(){ int result = 10;
php學習筆記:第四節--php中的運算子和流程控制
PHP的運算子、流程控制和其他語言的運算子一樣,沒什麼特別的,這裡不再累贅。 特別的運算子: .= $a.=$b
高階控制元件:自動提示文字框和下拉列表
高階控制元件 高階控制元件使用步驟 3.1 獲取資料 3.2 建立介面卡 陣列介面卡 ArrayAdapter 簡單介面卡 SimpleAdapter 3.3 繫結介面卡 高階控制元件與低階控制元件區別: **是否使用介面
第四節:工作區和暫存區
學習目的 工作區: 在電腦裡能看到的目錄,比如我的GIT資料夾就是一個工作區; 暫存區: 檢視倉庫當前狀態; 分支: Git為我們自動建立的第一個分支master. 工作區 在電腦裡能看到的目錄,
Scala 程式設計—第七節:類和物件(二)
前言: 類和物件第二節,主要介紹:單例物件、伴生物件與伴生類、apply方法、抽象類 1.單例物件 Java語言中,如果想直接使用類名點的方式呼叫方法或屬性,直接用static修飾即可。但Scala語言不支援靜態成員,而提供了object物件,這
第十五節:深入理解async和await的作用及各種適用場景和用法
一. 同步VS非同步 1. 同步 VS 非同步 VS 多執行緒 同步方法:呼叫時需要等待返回結果,才可以繼續往下執行業務 非同步方法:呼叫時無須等待返回結果,可以繼續往下執行業務 開啟新執行緒:在主執行緒之外開啟一個新的執行緒去執行業務 同步方法和非
Scala入門到精通——第六節:類和物件(一)
本節主要內容 1 類定義、建立物件 2 主構造器 3 輔助構造器 類定義、建立物件 //採用關鍵字class定義 class Person { //類成員必須初始化,否則會報錯 //這裡定義的是一個公有成員 var name:Strin
Scala入門到精通——第七節:類和物件(二)
本節主要內容 單例物件 伴生物件與伴生類 apply方法 應用程式物件 抽象類 單例物件 在某些應用場景下,我們可能不需要建立物件,而是想直接呼叫方法,但是Scala語言並不支援靜態成員,Scala通過單例物件來解決該問題。單例物件的建立方式如下:
Java高級架構師(一)第28節:Index、商品詳細頁和購物車
cat condition glib 1.0 dsm attr odin pri public <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf
JQ外掛:獲取文字框(textarea)內的所選字元和游標位置索引值-selection
(function($){ $.fn.selection = function(){ var s,e,range,stored_range; if(this[0].selectionStart == undefined){ var selection=document.selection; i
MFC介面程式設計基礎(11):靜態文字框、命令按鈕和編輯框
上一篇:MFC介面程式設計基礎(10):基於對話方塊的MFC應用程式 下一篇:MFC介面程式設計基礎(12):組框、單選按鈕和複選框 靜態文字框、命令按鈕和編輯框是Windows應用程式中最基本的控制元件。靜態文字