標籤:comm font 相關 rubygems sts key rda fir 文字框
瀏覽器這個大架構我們都能控制,區區頁面小元素又能奈我們何!!!之前的【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‘).text18 19 driver.close #退出程式20 end
【Web自動化測試——代碼篇四】常用方法——常見元素操作