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()

# 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()
经验分享 程序员 微信小程序 职场和发展