После того, как моя проблема была решена вчера (см. Ссылку ниже), появились новые проблемы.
Во-первых, решение вышеуказанной проблемы работает только для IE. Когда я пытаюсь использовать chrome или firefox с тем же кодом для подачи (кроме, конечно, драйвера), я получаю сообщение об ошибке, как и в начале (до того, как я понизил версию IEDriverServer). см ссылку
Eclipse Java Selenium не удалось подключиться к localhost
Во-вторых. не происходит, когда я использую функцию findelement. Сообщение об ошибке «не удается найти е
lement ". Однако этот элемент есть. Здесь страница, которая должна контролироваться.
https://accounts.google.com/signup/v2/webcreateaccount?continue=https%3A%2F%2Fwww.google.de%2F%3Fgws_rd%3Dssl&hl=de&flowName=GlifWebSignIn&flowEntry=SignUp
эта проблема уже часто запрашивается, но, к сожалению, ответы мне не помогают. Одним из решений было (так как findelement быстрее, чем браузер), чтобы установить следующую задержку. driver.manage (). таймауты (). implicitlyWait (5, TimeUnit.SECONDS);
другое решение состояло в том, чтобы искать id или xpath вместо name (поэтому name и id указаны ниже как findelement). пока безуспешно. ни один из упомянутых ключей не введен в поле (пароль и имя и т. д., я уже пробовал).
Вот статьи, которые ближе всего подходят к моей проблеме, но не помогли мне.
Нет такого исключения элемента | Интернет-проводник .
Тот же CSS Slector не работает в Internet Explorer, но работает в Firefox
в любом случае. IE откроется, но никакой другой браузер и ни один элемент не будут заполнены. здесь код и сообщение об ошибке.
import org.openqa.selenium.firefox.FirefoxBinary;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxProfile;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.openqa.grid.selenium.*;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import java.awt.Desktop;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.concurrent.TimeUnit;
public class firefoxöffner {
public static void main(String[] args) throws IOException, URISyntaxException {
System.setProperty("webdriver.gecko.driver","./geckodriver");
String service = "D://IEDriverServer.exe";
System.setProperty("webdriver.ie.driver", service);
InternetExplorerDriver driver = new InternetExplorerDriver();
driver.get("https://accounts.google.com/signup/v2/webcreateaccount?flowName=GlifWebSignIn&flowEntry=SignUp");
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
WebElement myDynamicElement = driver.findElement(By.id("lastName"));
driver.findElement(By.id("lastName")).sendKeys("B");
driver.findElement(By.name("lastName")).sendKeys("A");
}
}
Запущен сервер InternetExplorerDriver (64-разрядный)
3.8.0.0
Прослушивание через порт 47620
Разрешены только локальные соединения
Май 06, 2018 11:29:28 NACHM. org.openqa.selenium.remote.ProtocolHandshake createSession
ИНФОРМАЦИЯ: Обнаруженный диалект: W3C
Исключение в потоке "main" org.openqa.selenium.NoSuchElementException: невозможно найти элемент с помощью селектора css == # lastName
Еще раз спасибо.