如何在尝试了各种解决方案的Appium&C#中修复“ NoElementException”?

时间:2019-07-03 10:28:47

标签: c# appium-android

我是C#的新手,但是在Appium上有很好的经验。 对于有问题的屏幕,有一个编辑字段“请输入您的应用代码”。 Appium桌面可轻松识别带有“ id”的元素。识别后,我试图单击并必须输入appcode的值。出乎意料的是,在Java中,此元素很容易用'Id'标识。enter image description here

我尝试过使用'FindElementById','FindElementByAccessibilityId'和'FindElementByXPath',但是它们都不起作用。 我还尝试了显式等待。

  IWebElement Appcode = driver.FindElementByAccessibilityId("com.abc.dbanking:id/appcode_tie");

     IWebElement Appcode = driver.FindElementById("com.abc.dbanking:id/appcode_tie");

IWebElement Appcode = driver.FindElementByXPath("//android.widget.EditText(@resource-id = 'com.abc.dbanking:id/appcode_tie'));

  WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(45));
        IWebElement Appcode = wait.Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementToBeClickable(By.Id("com.abc.dbanking:id/appcode_tie")));

但是每次我遇到'NoSuchElementException'时,驱动程序都无法在页面上找到该元素。

1 个答案:

答案 0 :(得分:1)

尝试 IWebElement元素= driver.FindElementById(“ appcode_tie”); 要么 IWebElement元素= driver.FindElementByXPath(“ // * [包含(@ resource-id,'appcode_tie')]”);