Appium:无法通过ID和名称在Android chrome浏览器中找到元素,得到“ InvalidArgumentException”

问题描述 投票:0回答:1

我正在使用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("[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;
       }
}

错误:

线程“ main”中的异常org.openqa.selenium.InvalidArgumentException:无效参数:无效的定位器(会话信息:chrome = 79.0.3945.136)

EDIT(1):如建议的那样,我打印了页面源代码,并且没有任何问题。也添加了appium日志。

console log: System.out.println(driver.getPageSource());

Appium log

browser selenium-chromedriver appium invalid-argument desiredcapabilities
1个回答
0
投票

driver.get(“ http://facebook.com”);之后;行尝试打印页面源,并查看它是否正在获取页面源。试试System.out.println(driver.getPagesource());

© www.soinside.com 2019 - 2024. All rights reserved.