Appium: невозможно найти элемент в браузере Android Chrome по идентификатору и имени, получая InvalidArgumentException

Я использую 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("[email protected]"); //  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;
       }
}

Ошибка:

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

EDIT(1): Как и было предложено, я распечатал исходный код страницы и получил его без проблем. Также добавлен журнал appium.

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

журнал Appium


person Enrique Suarez    schedule 03.02.2020    source источник


Ответы (1)


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

person Sumit Taneja    schedule 04.02.2020
comment
Можете ли вы поделиться журналом appium. - person Sumit Taneja; 04.02.2020