Java 将findElementById(“elementID”)与本机android应用程序的appium一起使用。错误:";定位策略&x27;css选择器“;“不支持”;

Java 将findElementById(“elementID”)与本机android应用程序的appium一起使用。错误:";定位策略&x27;css选择器“;“不支持”;,java,android,android-ndk,appium,native,Java,Android,Android Ndk,Appium,Native,使用UIAutomationViewer,我可以找到要单击的元素的ID。但是当我运行代码时,selenium正在使用css查找ODID I am using Appium installed over npm (version 1.13.0), Selenium (3.8.1), Appium client for java (4.1.2). DesiredCapabilities=新的DesiredCapabilities(); 能力。设置能力(MobileCapabilityType.DE

使用UIAutomationViewer,我可以找到要单击的元素的ID。但是当我运行代码时,selenium正在使用css查找ODID

I am using Appium installed over npm (version 1.13.0), Selenium (3.8.1), Appium client for java (4.1.2).
DesiredCapabilities=新的DesiredCapabilities();
能力。设置能力(MobileCapabilityType.DEVICE_名称,
“像素测试”);
能力。设置能力(“平台名”、“安卓”);
能力。设置能力(MOBILECABILITYTYPE.AUTOMATION_名称,
“UiAutomator1”);
能力。设置能力(MobileCapabilityType.NO_RESET,true);
capabilities.setCapability(“appPackage”、“com.android.calculator2”);
能力。设置能力(“appActivity”,“Calculator”);
驱动程序=新的AndroidDriver(新的URL,功能);
driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);
driver.findElementById(“数字_9”)。单击();
driver.findElementById(“数字_6”)。单击();
driver.findElementById(“pad_操作符”)。单击();
driver.findElementById(“数字_1”)。单击();
driver.findElementById(“数字0”)。单击();
driver.findElementById(“eq”).click();
我遇到错误:“org.openqa.selenium.InvalidSelectorException:此会话不支持定位器策略“css选择器”。为什么会发生这种情况?

您使用的是不兼容和客户端组合

查看一下您需要的,其他版本可能由于以下原因无法工作

基本上,如果您使用的是像or这样的构建系统,那么您的项目类路径中只需要Appium Java,其他JAR将通过机制解决

我还建议升级到或任何最新版本

查看可以用作基础的示例项目

您正在使用不兼容和客户端组合

查看一下您需要的,其他版本可能由于以下原因无法工作

基本上,如果您使用的是像or这样的构建系统,那么您的项目类路径中只需要Appium Java,其他JAR将通过机制解决

我还建议升级到或任何最新版本


查看可以用作基础的示例项目

我的第一个猜测是,这些看起来不像完整的id。请在原始帖子中添加相关页面的uiautomator屏幕截图。另外,最初如何声明驱动程序?
受保护的AndroidDriver驱动程序这是如何声明驱动程序的。如果我输入完整的id,比如
driver.findElementById(“com.android.calculator2:id/digit_9”)。单击()它将返回与css选择器相同的错误。我的第一个猜测是,这些看起来不像完整的id。请在原始帖子中添加相关页面的uiautomator屏幕截图。另外,最初如何声明驱动程序?
受保护的AndroidDriver驱动程序这是如何声明驱动程序的。如果我输入完整的id,比如
driver.findElementById(“com.android.calculator2:id/digit_9”)。单击()它将返回与css选择器相同的错误。非常感谢!我没有想到要检查与硒的兼容性。因为我的项目是基于Maven的,所以我只是更改了版本以匹配。非常感谢!我没有想到要检查与硒的兼容性。因为我的项目是基于Maven的,所以我只是更改了版本以匹配。
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, 
"PixelTest");
capabilities.setCapability("platformName","Android");
capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME, 
"UiAutomator1");
capabilities.setCapability(MobileCapabilityType.NO_RESET, true);
capabilities.setCapability("appPackage", "com.android.calculator2");
capabilities.setCapability("appActivity", ".Calculator");

driver = new AndroidDriver<AndroidElement>(new URL(url), capabilities);
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

driver.findElementById("digit_9").click();
driver.findElementById("digit_6").click();

driver.findElementById("pad_operator").click();

driver.findElementById("digit_1").click();
driver.findElementById("digit_0").click();  

driver.findElementById("eq").click();