Selenium2+Python2.0自动化测试【15】 文本框
1.1 文本框
WEB页面会有各种文本输入框,一般分为三类。
1.input文本输入框
百度输入框就是这种,用法简单定位到输入框直接send_keys
# coding:utf-8
# input文本框操作
from seleniumimport
webdriver
import time
driver = webdriver.Firefox()
driver.maximize_window()
driver.implicitly_wait(10)
# 打开目标网页
driver.get("https://www.baidu.com/")
# 直接定位输入框
driver.find_element_by_id("kw").send_keys(u"input输入框")
time.sleep(3)
driver.quit()
2. textarea富文本输入框
用法一样简单定位到输入框直接send_keys
# coding:utf-8 # 富文本框操作 from selenium import webdriver import time driver = webdriver.Firefox() driver.maximize_window() driver.implicitly_wait(10) # 打开目标网页 driver.get("https://www.sojump.com/jq/467816.aspx") # 直接定位富文本框 driver.find_element_by_xpath(".//*[@id='q19']").send_keys(u"textarea富文本输入框") time.sleep(3) driver.quit()
3. div式的editor编辑器
用法一样简单定位到输入框直接send_keys
# coding:utf-8 # editor编辑器操作 from selenium import webdriver import time driver = webdriver.Firefox() driver.maximize_window() driver.implicitly_wait(10) # 打开目标网页 driver.get("http://www.yyyweb.com/demo/simple-editor/") # 直接定位editor编辑器 driver.find_element_by_xpath(".//*[@id='editor']").send_keys(u"editor编辑器") time.sleep(3) driver.quit()
有时会遇到iframe中的editor编辑器,这是需要先切换frame
# coding:utf-8 # editor编辑器操作 from selenium import webdriver import time driver = webdriver.Firefox() driver.maximize_window() driver.implicitly_wait(10) # 打开目标网页 driver.get("http://ueditor.baidu.com/website/onlinedemo.html") # 切换frame driver.switch_to.frame("ueditor_0") # 直接定位editor编辑器 driver.find_element_by_xpath("html/body").send_keys(u"editor编辑器") time.sleep(3) driver.quit()
如果需要输入的文本比较多,可以这样写:
# coding:utf-8 # editor编辑器操作 from selenium import webdriver import time driver = webdriver.Firefox() driver.maximize_window() driver.implicitly_wait(10) # 打开目标网页 driver.get("http://ueditor.baidu.com/website/onlinedemo.html") # 切换frame driver.switch_to.frame("ueditor_0") # 直接定位editor编辑器 bodytext = u"这里是需要输入的文本" driver.find_element_by_tag_name("body").send_keys(bodytext) time.sleep(3) driver.quit()除了send_keys方式,还可以使用JS处理:
# coding:utf-8 # editor编辑器操作 from selenium import webdriver import time driver = webdriver.Firefox() driver.maximize_window() driver.implicitly_wait(10) # 打开目标网页 driver.get("http://ueditor.baidu.com/website/onlinedemo.html") bodytext = u"这里是需要输入的文本" js = 'document.getElementById("ueditor_0").contentWindow.document.body.innerHTML="%s"' %(bodytext) driver.execute_script(js) time.sleep(3) driver.quit()