2013-11-28 123 views
0

我在這個例子中創建了一個元素(鏈接)(用於gmail頁面)的自定義CSS選擇器。它在Firefox中工作正常,但它在Internet Explorer(版本9.0)中引發錯誤; IE啓動,但拋出錯誤,我也嘗試與其他定位器,但同樣的錯誤。相同的CSS選擇器不工作在Internet Explorer中,但在Firefox中工作

錯誤在Internet Explorer


異常在線程 「主」 org.openqa.selenium.NoSuchElementException:無法找到與CSS選擇==一個[ID = '的Gmail-登錄']元件(警告:服務器未提供任何信息棧跟蹤) 命令持續時間或超時:307毫秒

代碼的Firefox - 做工精細


import java.util.concurrent.TimeUnit; 
import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.WebElement; 
import org.openqa.selenium.firefox.FirefoxDriver; 

public class Gmail_FFX { 
public static void main(String[] args) 
    { 
     //Creating Driver and Launching the site 
      WebDriver driver = new FirefoxDriver(); 
     driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS); 
     driver.get("http://gmail.com"); 
     System.out.println(driver.getTitle()); 


    WebElement objLink; 
    objLink = driver.findElement(By.cssSelector("a[id='gmail-sign-in']")); 
      objLink.click(); 
    } 
} 

代碼在Internet Explorer - 拋出錯誤


import java.util.concurrent.TimeUnit; 
import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.WebElement; 
import org.openqa.selenium.ie.InternetExplorerDriver; 

公共類IE_Gmail {

public static void main(String[] args) 
    { 
     //Creating Driver and Launching the site 
     System.setProperty("webdriver.ie.driver", "D:/Selenium/IE Driver/IEDriverServer.exe"); 
     WebDriver driver = new InternetExplorerDriver(); 
     driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS); 
     driver.get("http://gmail.com"); 
     System.out.println(driver.getTitle()); 


     WebElement objLink; 
     objLink = driver.findElement(By.cssSelector("a[id='gmail-sign-in']")); 
     objLink.click(); 
} 

} 
+1

幫我說服大家切換到Firefox/Webkit。問題解決了。或者只是忽略IE支持,直到他們被迫切換。 – keyser

+0

難道你不能通過ID找到元素? – Ievgen

+0

@Evgeniy - 我也試過,但同樣的錯誤。 – user1925406

回答

0

步驟1: 與現有的DOM結構得到完美的目標定位器按我們的代碼已有對象ID可用於登錄鏈接。 Gmail註冊的

對象ID鏈接:Gmail中,登錄

要執行的操作:點擊 - 如何

driver.findElement(By.id( 「Gmail專用登錄」)) 。點擊();

定位器對象ID更快,並且可以在所有瀏覽器中訪問。

相關問題