xpath найден в консоли chrome / firefox, но не найден селеном? - PullRequest
0 голосов
/ 10 марта 2019

xpath найден в консоли chrome / firefox, но не найден селеном? любое предложение ?

enter image description here

И попробуйте chropath (плагин chrome), ни один из них не сработает: enter image description here

Java-код в обе стороны:

 List<WebElement> Elements = driver.findElements(By.xpath("/html/body/div[2]/div/div[1]/div[2]/div[2]/div[1]/div/div[3]/div[1]/div[4]/div[2]/textarea"));
new WebDriverWait(driver, 30).until(ExpectedConditions.elementToBeClickable(By.xpath("/html[1]/body[1]/div[2]/div[1]/div[1]/div[2]/div[2]/div[1]/div[1]/div[3]/div[1]/div[4]/div[2]/textarea[1]"))).sendKeys("testing");

Вот что дает Селен:

Исключение в потоке "main" org.openqa.selenium.TimeoutException: Ожидаемое условие не выполнено: ожидание нажатия элемента: By.xpath: / HTML 1 / корпус * +1021 * 1 * тысяча двадцать-два * / дела * +1023 * 2 / дела 1 * 1 026 * / дела 1 * +1028 * / дела 2 / дел * +1031 * 2 * 1 032 * / дел 1 / дел * тысяча тридцать-пять * 1 * 1 036 * / дел 3 / дел * 1 039 * 1 / DIV [4] / дела * 2 * тысяча сорок одна тысяча сорок-дв * * / * TextArea 1 043 * 1 (пробовали в течение 30 секунд с интервалом 500 МЛ) org.openqa.selenium.support.ui.WebDriverWait.timeoutException (WebDriverWait.java:82) в org.openqa.selenium.support.ui.FluentWait.until (FluentWait.java:231) at message.hello.main (hello.java:148) Причина: org.openqa.selenium.NoSuchElementException: не удается найти элемент используя By.xpath: / HTML 1 / корпус 1 * 1 048 * / дел * 1 049 * 2 / дел 1 / дел 1 * +1054 * / дел 2 * одна тысячи пятьдесят шесть * / дела * 1 057 * 2 * 1 058 * / дела 1 / дела 1 * +1062 * / дела * +1063 * 3 * тысяча шестьдесят-четырь * / дела * тысяча шестьдесят-пять * 1 * тысяча шестьдесят шесть * / DIV [4] / дел 2 / * 1069 текстовое поле * 1 Для документации об этой ошибке, пожалуйста, посетите: http://seleniumhq.org/exceptions/no_such_element.html Информация о сборке: версия: '3.6.0', ревизия: '6fbf3ec767', время: '2017-09-27T16: 15: 26.402Z' Системная информация: хост: 'daviss-MacBook-Pro.local', ip: '2600: 1010: b06c: 96a7: d93d: 6b6e: 3c3d: 3826% en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10 .14.2 ', java.version: '10 .0.1'

Хотелось бы поместить некоторый текст в текстовую область. если это возможно с селеном?

Также подтвердите, что страница не имеет никакого отношения к iframe

enter image description here

Ответы [ 4 ]

1 голос
/ 10 марта 2019

Попробуйте это ниже XPath это должно работать.

driver.findElement(By.xpath("//textarea[@class='textarea']")).sendKeys("testing");

OR

driver.findElement(By.xpath("//textarea[@placeholder='inputthere~']")).sendKeys("testing");

В случае, если это дает ошибку. Пожалуйста, проверьте любой iframe доступен? если доступно, то сначала нужно переключиться на iframe.

driver.switchTo().frame("Frame-Name") 

Надеюсь, это поможет вам!

0 голосов
/ 22 апреля 2019

Несколько причин / вариантов, вы можете попробовать здесь -

  1. Попробуйте очистить и сначала нажмите на это поле, а затем используйте sendKeys()
  2. Проверьте видимость этогоэлемент на веб-странице.
  3. Ширина и высота элемента не должны быть равны нулю.
  4. Убедитесь, что флажок включен, когда вы пытаетесь использовать sendKeys().
  5. Попробуйте снекоторое время ожидания, прежде чем найти этот элемент.
0 голосов
/ 11 марта 2019

Попробуйте с помощью javascript executor отправить значение в WebElement:

    WebElement wb = driver.findElement(By.xpath("/html/body/div[2]/div/div[1]/div[2]/div[2]/div[1]/div/div[3]/div[1]/div[4]/div[2]/textarea"));
    JavascriptExecutor jse = (JavascriptExecutor)driver;
    jse.executeScript("arguments[0].value='(222)222-2222';", wb);
0 голосов
/ 11 марта 2019

Попробуйте использовать список массивов, если вам нужно использовать список элементов.

List<WebElement> Elements = driver.findElements(By.xpath("/html/body/div[2]/div/div[1]/div[2]/div[2]/div[1]/div/div[3]/div[1]/div[4]/div[2]/textarea"));

ArryaList <String> elementList = new ArryaList<>();
for (WebElement ele : Elements){
elementList.add(ele)
}

new WebDriverWait(driver, 30).until(ExpectedConditions.visibilityOf(elementList.get(0));
elementList.get(0).click();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...