Appium: невозможно найти элемент в браузере Android chrome по идентификатору и имени, получая «InvalidArgumentException» - PullRequest
0 голосов
/ 04 февраля 2020

Я использую Appium (v1.15.1) для поиска по электронной почте полей пароля из "http://facebook.com" с браузером Chrome на устройстве Android, и я не могу найти электронную почту и элементы полей пароля, используя метод findElementById ('') и findElementByName (''). Я пытался найти его с помощью XPath, и он работает.

Это мой код:

public class Browse extends BaseMobile {

       public static void main(String[] args) throws MalformedURLException {
           AndroidDriver<AndroidElement> driver = capabilities();
           driver.get("http://facebook.com");
           driver.findElementById("m_login_email").sendKeys("prueba@mail.com"); //  not working 
           driver.findElementByName("pass").sendKeys("123456789"); //  not working
           driver.findElementByXPath("//*[@name='login']").click(); 
       }
}

Возможности:

public class BaseMobile {

       public static AndroidDriver<AndroidElement> capabilities() throws MalformedURLException {

           AndroidDriver<AndroidElement> androidDriver;
           String serverUrl = "http://127.0.0.1:4723/wd/hub";
           DesiredCapabilities cap = new DesiredCapabilities();
           cap.setCapability(MobileCapabilityType.DEVICE_NAME, "Android device");
           cap.setCapability(MobileCapabilityType.BROWSER_NAME, "Chrome");
           androidDriver = new AndroidDriver<AndroidElement>(new URL(serverUrl), cap);
           androidDriver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);
          return androidDriver;
       }
}

Ошибка:

Исключение в теме "Основная" организация. openqa.selenium.InvalidArgumentException: неверный аргумент: неверный локатор (информация о сеансе: chrome = 79.0.3945.136)

РЕДАКТИРОВАТЬ (1): Как было предложено, я напечатал страницу источника и я ' Я получаю это без проблем. Также добавлен журнал appium.

консольный журнал: System.out.println (driver.getPageSource ());

Журнал Appium

1 Ответ

0 голосов
/ 04 февраля 2020

После driver.get ("http://facebook.com"); В строке попробуйте напечатать источник страницы и посмотреть, получает ли он источник страницы или нет. Попробуйте System.out.println (driver.getPagesource ());

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