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