Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在appium中找到div按钮(sencha按钮)_Javascript_Jquery_Html_Sencha Touch_Appium - Fatal编程技术网

Javascript 如何在appium中找到div按钮(sencha按钮)

Javascript 如何在appium中找到div按钮(sencha按钮),javascript,jquery,html,sencha-touch,appium,Javascript,Jquery,Html,Sencha Touch,Appium,我正在使用appium为iOS自动化sencha应用程序。应用程序具有未被appium inspector检测到的div按钮。我已经尝试过不同的技术,比如名称、类、CSS选择器,但根本不起作用 有谁能帮我一下吗。直呼姓名- wd.findElement(按.name(“Logbutton”))。单击() 按班级分类- wd.findElement(按.className(“.logclass”))。单击() 听起来这是一个wd类名,而不是Sencha Touch类名 按ID- wd.findEl

我正在使用appium为iOS自动化sencha应用程序。应用程序具有未被appium inspector检测到的div按钮。我已经尝试过不同的技术,比如名称、类、CSS选择器,但根本不起作用

有谁能帮我一下吗。

直呼姓名- wd.findElement(按.name(“Logbutton”))。单击()

按班级分类- wd.findElement(按.className(“.logclass”))。单击()

听起来这是一个wd类名,而不是Sencha Touch类名

按ID- wd.findElement(By.id(“logid”))。单击()

把ID添加到divs中的任务留给Sencha去做。这不是找到你的物品的好方法

通过CSS选择器- wd.findElement(通过.cssSelector(“.button log interaction phone”))。单击()

Sencha在按钮上添加了“x按钮”。 此外,您可以添加cld:'logclass',但我认为这不是实现它的方法

解决方案

wd只是一个名称空间。您需要的是Ext名称空间,从那里可以很容易地:

var btn = Ext.Viewport.down('#myButton');
btn.fireEvent('tap', btn);

我可以通过以下方式点击或点击div或按钮等

    Point p = button.getLocation();        
    p = p.moveBy((button.getSize().getWidth() / 2), (button.getSize().getHeight() / 2));
    WebElement button = driver.findElement(By.id("someid"));
    HashMap<String, Double> clicks = new HashMap<String, Double>();
    clicks.put("tapCount", 2d);
    clicks.put("touchCount", 1d);
    clicks.put("duration", 2d);
    clicks.put("x", new Double(p.getY()));
    clicks.put("y", new Double(p.getX()));
    ((JavascriptExecutor) driver).executeScript("mobile: tap", clicks);
点p=button.getLocation();
p=p.moveBy((button.getSize().getWidth()/2),(button.getSize().getHeight()/2));
WebElement按钮=driver.findElement(By.id(“someid”);
HashMap单击=新建HashMap();
点击。点击(“点击计数”,2d);
点击。点击(“触摸计数”,1d);
点击。放置(“持续时间”,2d);
点击.put(“x”,新的双击(p.getY());
点击.put(“y”,新的双精度键(p.getX());
((JavascriptExecutor)驱动程序).executeScript(“移动:点击”,点击);

请分享您迄今为止试图再次简要说明问题的相关代码-我的应用程序的工具栏上有一些按钮(仅图标)。记录时,既没有识别工具栏也没有按钮,但如果我们放置任何文本或文本按钮,则此处识别的代码是我按照名称手动检测的代码-wd.findElement(By.name(“Logbutton”)).click();By Class-wd.findElement(By.className(“logclass”)).click();By ID-wd.findElement(By.ID(“logid”).click();By CSS选择器-wd.findElement(By.cssSelector”(.button log interaction phone)).click();但上述所有操作都不起作用