【问题标题】:How to automate react native application in which clickable=false如何自动化响应本机应用程序,其中 clickable=false
【发布时间】:2018-03-16 16:33:42
【问题描述】:

我正在尝试通过 Appium 自动化 React 本机 android 应用程序,我正在尝试单击按钮但它是 clicakble=false 所以我无法执行进一步的脚本

【问题讨论】:

  • 在手动步骤中也是不可点击的吗?
  • 在手册中没有它是可点击的,但是当我从 UI Automator 检查时它显示可点击 = false。
  • 请参阅:How do I do X? SO 的期望是,提出问题的用户不仅会进行研究以回答他们自己的问题,还会分享研究、代码尝试和结果。这表明您已经花时间尝试帮助自己,它使我们免于重复明显的答案,最重要的是它可以帮助您获得更具体和相关的答案!另见:How to Ask
  • 请分享 HTML 或代码

标签: selenium-webdriver react-native appium


【解决方案1】:

尝试使用JavascriptExecutor点击

    WebElement element = driver.findElement(By.xpath("Your Xpath"));
    JavascriptExecutor executor = (JavascriptExecutor)driver;
    executor.executeScript("arguments[0].click();", element);

或

            Point point = ad.findElement(filter).getLocation();
            int elementCenterX = point.getX() + 80;
            int elementCenterY = point.getY() + 100;
            System.out.println("value of x = "+elementCenterX+"   value of y = "+elementCenterY);
            ad.tap(2, elementCenterX , elementCenterY , 0);
            System.out.println("click on result");

【讨论】:

  • 是的,它是 selenium 的一个类,它是核心 java 代码:)
  • 嗨 JavascriptExecutor 执行器 = (JavascriptExecutor) 驱动程序;对象元素 = null; executor.executeScript("arguments[0].click();", element);这不起作用..
  • 你为什么传null..传button的webelement
  • 是的,我试过这样 JavascriptExecutor executor = (JavascriptExecutor)driver; executor.executeScript("android.view.ViewGroup[4].click()","button");尽管如此,它仍然显示错误
  • java.util.List a= driver.findElements(By.className("android.widget.EditText")); a.get(0).sendKeys("ak"); a.get(1).sendKeys("abcd");线程.sleep(5000); JavascriptExecutor 执行器 = (JavascriptExecutor) 驱动程序; executor.executeScript("arguments[0].click();", "button");但我没有任何反应本机按钮的 id,并且按钮是可点击的='false'
猜你喜欢
  • 2020-06-10
  • 1970-01-01
  • 2016-11-07
  • 2017-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-13
  • 1970-01-01
相关资源
最近更新 更多