Я не могу заставить Selenium идентифицировать любые элементы с драйвером Internet Explorer независимо от используемой страницы или типа выбора.
String iedriver = "C:\\selenium-server\\IEDriverServer.exe";
System.setProperty("webdriver.ie.driver", iedriver);
WebDriver driver = new InternetExplorerDriver();
driver.get("http://www.google.com");
WebElement element = driver.findElement(By.xpath("//body"));
Выбор по xpath дает org.openqa.selenium.InvalidSelectorException: Выражение xpath '//body' не может быть оценено или не выполняется в WebElement. Другие типы выбора также терпят неудачу:
WebElement element = driver.findElement(By.cssSelector("body"));
или
WebElement element = driver.findElement(By.tagName("body"));
или
WebElement element = driver.findElement(By.name("q"));
С помощью CSS Selector, Name или Tag Name всегда вызывается org.openqa.selenium.NoSuchElementException
Все настройки отлично работают с Firefox Driver, драйвером Chrome и даже драйвером Html Unit.
Браузер правильно запускается, и страница загружается так, как ожидалось. driver.getCurrentUrl(); и driver.getPageSource(); возвращают ожидаемые значения.
Я попытался ввести явные и неявные ожидания перед тем, как выбрать элемент, но без эффекта, используя
Thread.sleep(10000);
или
WebDriverWait(driver,60).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//body")));
Также попытался выполнить код, чтобы вручную дождаться появления элементов.
Другие вещи, которые я пытался включить: 1) установка параметров безопасности на один уровень во всех зонах; 2) отключение Enhanced Protected Mode 3) установка FEATURE_BFCACHE в реестре
Я использую Selenium и IEDriverServer версии 2.41. Проблема наблюдается как локально, так и удаленно. Окружающая среда находится на 64-разрядной версии Windows 7, используя 64-разрядные 64-разрядные и 64-разрядные версии IEDriverServer. Та же проблема была обнаружена на 32-разрядной версии IE11, используя 32-разрядную версию IEDriverServer. Я использовал www.google.com здесь как общедоступный тест, но проблема также наблюдается на нашем внутреннем сайте.