Selenium2+Python2.0自动化测试【15】 文本框

1.1       文本框

WEB页面会有各种文本输入框,一般分为三类。

1.input文本输入框
   百度输入框就是这种,用法简单定位到输入框直接send_keys

Selenium2+Python2.0自动化测试【15】 文本框

# 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

Selenium2+Python2.0自动化测试【15】 文本框

# 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

Selenium2+Python2.0自动化测试【15】 文本框

# 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

Selenium2+Python2.0自动化测试【15】 文本框

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