1. 程式人生 > >【Web自動化測試——代碼篇四】常用方法——常見元素操作

【Web自動化測試——代碼篇四】常用方法——常見元素操作

fin pack 百度輸入 submit .get ted baidu 百度搜 內容

瀏覽器這個大框架我們都能控制,區區頁面小元素又能奈我們何!!!之前的【Web自動化測試——代碼篇二】條條大路找元素 已經講述了許多獲取元素的方法,在此基礎上我們來認識幾個元素最常見的相關操作?(ˉ﹃ˉ?)

Java Python Ruby
輸入內容 sendKeys(*value) send_keys(*value) send_keys(*value)
單擊元素 click() click() click
清除文本 clear() clear() clear
提交表單 submit() submit() submit
獲取元素的文本 getText() text text
獲取元素的指定屬性值 getAttribute(String attributeName) get_attribute(String attributeName) attribute(String attributeName)

**代碼時間 **

(。﹏。*)其實吧,“獲取元素的文本”這個方法我是想獲取 百度輸入框 的文本的,但是不知道為啥雖然代碼不報錯卻一直獲取不到它的文本(難道是因為它是input文本框的問題?╮(╯▽╰)╭)。所以我就想既然我們有“獲取元素的指定屬性值”這個方法,那我們就直接獲取它的value屬性值<( ̄︶ ̄)↗[GO!]

Java

 1
package JavaTest; 2 3 import org.openqa.selenium.By; 4 import org.openqa.selenium.WebDriver; 5 import org.openqa.selenium.firefox.FirefoxDriver; 6 7 public class Test { 8 public static void main(String[] arg) throws InterruptedException 9 { 10 WebDriver driver = new FirefoxDriver();
11 driver.get("http://www.baidu.com/"); 12 13 driver.findElement(By.id("kw")).sendKeys("Java"); //對百度輸入框賦值 14 driver.findElement(By.id("kw")).submit(); //對百度輸入框提交 15 System.out.println(driver.findElement(By.id("kw")).getAttribute("value")); //獲取百度輸入框值 16 Thread.sleep(2000); 17 driver.findElement(By.id("kw")).clear(); //清除百度輸入框 18 Thread.sleep(2000); 19 driver.findElement(By.id("su")).click(); //點擊百度搜索按鈕 20 Thread.sleep(2000); 21 System.out.println(driver.findElement(By.id("cp")).getText()); //顯示百度備案信息文本 22 23 driver.close(); //結束 24 } 25 }

Python

 1 from time import *
 2 from selenium import webdriver
 3 from selenium.webdriver.common.by import By
 4 
 5 # 啟動Firefox瀏覽器
 6 driver = webdriver.Firefox()
 7 driver.get(http://www.baidu.com)
 8 
 9 driver.find_element(By.XPATH,"//*[@class=‘s_ipt‘]").send_keys(Python)  # 對百度輸入框賦值
10 driver.find_element_by_xpath("//input[@type=‘submit‘]").submit()  # 對百度輸入框提交
11 print(driver.find_element(By.ID,kw).get_attribute(value)) # 獲取百度輸入框值
12 sleep(2) # 休眠2秒
13 driver.find_element(By.ID,kw).clear()  # 清除百度輸入框
14 sleep(2)
15 driver.find_element_by_id(su).click()  # 點擊百度搜索按鈕
16 sleep(2)
17 print(driver.find_element(By.ID,cp).text)  # 顯示百度備案信息文本
18 
19 driver.close() # 結束

Ruby

 1 class Baidu
 2   require rubygems
 3   require selenium-webdriver
 4 
 5   #打開firefox並輸入網址
 6   driver = Selenium::WebDriver.for :firefox
 7   driver.navigate.to "http://www.baidu.com"
 8 
 9   driver.find_element(:name, wd).send_keys(Ruby)  # 對百度輸入框賦值
10   driver.find_element(:id, kw).submit # 百度輸入框提交
11   puts driver.find_element(:id, kw).attribute(value) # 獲取百度輸入框值
12   sleep(2) # 休眠2秒
13   driver.find_element(:xpath, "//*[@class=‘s_ipt‘]").clear # 清除百度輸入框
14   sleep(2)
15   driver.find_element(:id, su).click # 點擊百度搜索按鈕
16   sleep(2)
17   puts driver.find_element(:id, cp).text
18 
19   driver.close #退出程序
20 end

【Web自動化測試——代碼篇四】常用方法——常見元素操作