我在這個例子中創建了一個元素(鏈接)(用於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();
}
}
幫我說服大家切換到Firefox/Webkit。問題解決了。或者只是忽略IE支持,直到他們被迫切換。 – keyser
難道你不能通過ID找到元素? – Ievgen
@Evgeniy - 我也試過,但同樣的錯誤。 – user1925406