【发布时间】:2020-05-19 17:39:48
【问题描述】:
我正在使用 Appium (v1.15.1) 在 Android 设备上使用 Chrome 浏览器从“http://facebook.com”查找电子邮件密码字段,但我无法使用方法 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;
}
}
错误:
线程“main”中的异常 org.openqa.selenium.InvalidArgumentException:无效参数: 无效的定位器 (会话信息:chrome=79.0.3945.136)
EDIT(1): 正如我所建议的那样,我打印了页面源代码,我得到它没有任何问题。也添加了appium日志。
【问题讨论】:
标签: browser selenium-chromedriver appium invalid-argument desiredcapabilities