Я использую 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.