селен - не может редактировать текстовое поле - PullRequest
0 голосов
/ 04 июня 2018

Я использую Selenium WebDriver 3.12, используя Chrome Browser Chrome версии 66.0.3359.181 (Offizieller Build) (64-разрядная версия), но я не могу редактировать поля, я уже пробовал его на разных страницах. Последний раз был "https://banking.postbank.de/rai/login" Вы можете попробовать самостоятельно убедиться, что локаторы верны, но я уже проверял это еще раз и с Chrome XPath. Вот мой код

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.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;

import java.util.concurrent.TimeUnit;

public class TempTestClass {


    public static void main(String [] args){
        WebDriver driver;
        WebElement el;

            System.setProperty("webdriver.chrome.driver", "D:\\Workspace\\TEMP\\src\\chromedriver.exe");
            driver = new ChromeDriver();            // Open Browser


        driver.manage().window().maximize();
        driver.manage().deleteAllCookies();
        driver.manage().timeouts().pageLoadTimeout(TestUtil.PAGE_LOAD_TIMEOUT, TimeUnit.SECONDS);
        driver.manage().timeouts().implicitlyWait(TestUtil.IMPLICIT_WAIT, TimeUnit.SECONDS);

        driver.get("https://banking.postbank.de/rai/login");            // Open Page url


        WebDriverWait wait = new WebDriverWait(driver, 30);
        wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//input[@id='id1']")));
        el = driver.findElement(By.xpath("//input[@id='id1']"));
        el.click();
        // el.clear();
        el.sendKeys("hallo");

        driver.quit();
    }
}

Вот бегСообщения об ошибках:

Starting ChromeDriver 2.33.506120 (e3e53437346286c0bc2d2dc9aa4915ba81d9023f) on port 20054
Only local connections are allowed.
Jun 07, 2018 4:35:28 PM org.openqa.selenium.remote.ProtocolHandshake createSession
INFORMATION: Detected dialect: OSS
Exception in thread "main" org.openqa.selenium.WebDriverException: unknown error: call function result missing 'value'
  (Session info: chrome=67.0.3396.79)
  (Driver info: chromedriver=2.33.506120 (e3e53437346286c0bc2d2dc9aa4915ba81d9023f),platform=Windows NT 10.0.16299 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 0 milliseconds
Build info: version: '3.12.0', revision: '7c6e0b3', time: '2018-05-08T14:04:26.12Z'
System info: host: 'A-AKADO', ip: '192.168.232.2', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_144'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities {acceptSslCerts: true, applicationCacheEnabled: false, browserConnectionEnabled: false, browserName: chrome, chrome: {chromedriverVersion: 2.33.506120 (e3e53437346286..., userDataDir: C:\Users\KHAZIN~1\AppData\L...}, cssSelectorsEnabled: true, databaseEnabled: false, handlesAlerts: true, hasTouchScreen: false, javascriptEnabled: true, locationContextEnabled: true, mobileEmulationEnabled: false, nativeEvents: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: XP, platformName: XP, rotatable: false, setWindowRect: true, takesHeapSnapshot: true, takesScreenshot: true, unexpectedAlertBehaviour: , unhandledPromptBehavior: , version: 67.0.3396.79, webStorageEnabled: true}
Session ID: 2a3a30040432a6dbc3fb0425823cea60
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:214)
    at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:166)
    at org.openqa.selenium.remote.http.JsonHttpResponseCodec.reconstructValue(JsonHttpResponseCodec.java:40)
    at org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:80)
    at org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:44)
    at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158)
    at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:543)
    at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:276)
    at org.openqa.selenium.remote.RemoteWebElement.sendKeys(RemoteWebElement.java:100)
    at com.testtemp.qa.TempTestClass.main(TempTestClass.java:38)

Process finished with exit code 1

Похоже, это общая проблема, в которой я не знаю, что я делаю неправильно. Спасибо за любую поддержку (к вашему сведению: я не очень разбираюсь в SeleniumWD)

@ Шах: извините за задержку, чтобы найти проблему, я изменил свою старую проблему, так как она появляется и на других страницах, было бы неплохо, если бы вы могли прислать мне код, чтобы написать одно поле в поле для поля этимпример - спасибо

1 Ответ

0 голосов
/ 07 июня 2018

Проблема решена путем установки самой новой версии chromedriver.exe.Проблема была связана с водителем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...