1. 程式人生 > >Appnium、Selenium常用的等待元素的三種方法

Appnium、Selenium常用的等待元素的三種方法

package com.sandy;

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.WebDriverWait;

public class ElementWait {

	private static WebDriver driver;
	public static void main(String[] args) throws Exception {
		System.setProperty("webdriver.chrome.driver", "E:\\eclipse_jar\\selenium_jar\\chromedriver.exe");
		driver = new ChromeDriver();
		
		driver.get("http://www.baidu.com/");
		driver.manage().window().maximize();  //最大化
		
		/**
		 * 顯示等待,等待時間設定的時30s
		 * element即時所需要等待的元素
		 */
		WebDriverWait wait = new WebDriverWait(driver, 30);
		WebElement element = wait.until(new ExpectedCondition<WebElement>() {
			@Override
			public WebElement apply(WebDriver driver) {
				return driver.findElement(By.name("tj_trnews"));
			}
		});
		
		driver.quit();
	}
	
}

相關推薦

AppniumSelenium常用等待元素方法

package com.sandy; import java.util.concurrent.TimeUnit; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium

Python selenium —— 一定要會用selenium等待等待方式解讀(轉)

我們 嚴重 -s ber 約定 fire locate ror nbsp 發現太多人不會用等待了,博主今天實在是忍不住要給大家講講等待的必要性。 很多人在群裏問,這個下拉框定位不到、那個彈出框定位不到…各種定位不到,其實大多數情況下就是兩種問題:1 有frame,2 沒有加

Python selenium —— 一定要會用selenium等待等待方式解讀

發現太多人不會用等待了,博主今天實在是忍不住要給大家講講等待的必要性。 很多人在群裡問,這個下拉框定位不到、那個彈出框定位不到…各種定位不到,其實大多數情況下就是兩種問題:1 有frame,2 沒有加等待。殊不知,你的程式碼執行速度是什麼量級的,而瀏覽器載入渲

Python selenium ---一定會用selenium等待等待方式解讀

很多人在群裡問,這個下拉框定位不到、那個彈出框定位不到…各種定位不到,其實大多數情況下就是兩種問題:1 有frame,2 沒有加等待。殊不知,你的程式碼執行速度是什麼量級的,而瀏覽器載入渲染速度又是什麼量級的,就好比閃電俠和凹凸曼約好去打怪獸,然後閃電俠打完回來之後問凹凸曼你

selenium 延遲等待方式

 1、最直接普通的方式:這個是設定固定的等待時間    Thread.sleep(1000); 2、隱式等待方式(implicitlyWait):設定指令碼在查詢元素時的最大等待時間;    dr

Python selenium 自動化測試,一定要會用selenium等待等待方式解讀

發現太多人不會用等待了,博主今天實在是忍不住要給大家講講等待的必要性。 很多人在群裡問,這個下拉框定位不到、那個彈出框定位不到…各種定位不到,其實大多數情況下就是兩種問題: 1 有frame,2 沒有加等待。 殊不知,你的程式碼執行速度是什麼量級的,而瀏覽器載入渲染速度

一定要會用selenium等待等待方式必會

轉載地址:http://blog.csdn.net/huilan_same/article/details/52544521,感謝博文,學習了原文:發現太多人不會用等待了,博主今天實在是忍不住要給大家講講等待的必要性。很多人在群裡問,這個下拉框定位不到、那個彈出框定位不到…各

水平居中總結-不定寬塊狀元素方法

水平居中總結-不定寬塊狀元素方法(一) 在實際工作中我們會遇到需要為“不定寬度的塊狀元素”設定居中,比如網頁上的分頁導航,因為分頁的數量是不確定的,所以我們不能通過設定寬度來限制它的彈性。(不定寬塊狀元素:塊狀元素的寬度width不固定。) 不定寬度的塊狀元素有三種方法居中(這三種方

Linux軟體安裝——mysql5.7-安裝新手入門 6MySQL建立使用者的方法

因測試工作需要,在Linux上自搭一個mysql服務。 但對入門linux的同志,剛開始最迫切想知道的,大概一個是中文輸入法,另一個就是怎麼安裝軟體。本文主要學習了LINUX安裝軟體的特點,並完成安裝mysql的安裝作為實踐。 一、Linux軟體安裝須知: &

Appium 等待方法

1.sleep  eg: Thread.sleep(60000);強制等待60s 2.implicitlyWait   driver.manage().timeouts().implicitlyWait(30,TimeUnit.SECONDS);   //隱式等待,全域性

Selenium彩蛋篇-等待的使用方式

自動化 mes 存在 enable any 優點 網頁 定時 cal 轉: http://www.imdsx.cn/index.php/2017/07/27/ec/ 在UI自動化測試中,必然會遇到環境不穩定,網絡慢的情況,這時如果你不做任何處理的話,代碼會由於沒有找到元

selenium方法isEnable()isDisplayed()和isSelected()的區別

isEnable()、isDisplayed()和isSelected()  1、以上三個為布林型別的函式  2、isEnable用於儲存input、select等元素的可編輯狀態,可以編輯返回true,否則返回false  3、isDisplayed()這個有點陌生,在大神

python裡等待元素出現的方法

在做web或app的自動化測試經過會出現找不到元素而報錯的情況,很多時候是因為元素還沒有被加載出來,查詢的程式碼就已經被執行了,自然就找不到元素了。那麼我可以用等待元素載入完成後再執行查詢元素的code。Python裡有三種等待的方式:一、強制等待Sleep(54) 這個方法

Selenium元素等待的4方法

1.使用Thread.sleep(),這是最笨的方法,但有時候也能用到而且很實用。 2.隱示等待,隱性等待是指當要查詢元素,而這個元素沒有馬上出現時,告訴WebDriver查詢Dom一定時間。預設值是0,但是設定之後,這個時間將在WebDriver物件例項整個生命週期都

Jquery 頁面初始化常用方法以及Jquery 發送ajax 請求

tree error 渲染 erro 發生 har 初始化 nload 事情 第一種 $(document).ready(function(){ //文檔就緒事件 }); 第二種是第一種的簡略寫法,效果上和第一種是等效的。 $(function(){ //文檔加載事

Unity中Shader的基本類型

ron 光照 llb 代碼 com unity3d ogr 不同 部分 一、固定功能著色器(Fixed Function Shader) 固定功能著色器為固定功能渲染管線的具體表現。功能較簡單兼容比較老的機器 二、表面著色器 存在於Unity3D中由U3D發揚光大的一

jQuery頁面加載初始化常用方法

ini ready document 加載 clas 初始 ora win eth 當頁面打開時我們需要執行一些操作,這個時候如果我們選擇使用jquery的話,需要重寫他的3中方法,自我感覺沒什麽區 別,看個人喜好了,第二種感覺比較簡單明了: 第一種: 復制代碼代碼如下:

安裝軟件包的方法rpm包介紹及工具用法yum用法及搭建本地倉庫

安裝軟件包的三種方法、rpm包介紹及工具用法、yum用法及搭建本地倉庫一、安裝軟件包的三種方法rpm工具rpm(Redhat Package Manager)RPM軟件包管理器,是以一種數據庫記錄的方式來將我們所需要的套件安裝到Linux主機的一套管理程序。rpm包是預先在Linux機器上編譯好並打包好的文件

js中設置元素class的方法小結

utf-8 nbsp brush firefox body charset utf 代碼 title 一、el.setAttribute(‘class‘,‘abc‘); 復制代碼 代碼如下: <!DOCTYPE HTML> <HTML>

struts2開發action 的方法以及通配符路徑匹配原則常量

ucc ces pan ide exce 三種 void 動態方法 div struts2開發action 的三種方法 1、繼承ActionSupport public class UserAction extends ActionSupport {