无法与硒画布中的元素交互

时间:2018-07-25 10:09:09

标签: java selenium-webdriver canvas

我尝试了来自stackoverflow和其他资源的几乎所有可能的解决方案,以滚动或单击画布中的任何特定元素,但没有运气。

画布代码:

AlertDialog.Builder builder = new AlertDialog.Builder(context);//current activity.
b.Window.SetType(WindowManagerTypes.ApplicationPanel);

以上代码是从chrome 67.0中检查的。

有效的硒代码:

<canvas id="CST_canvas" width="390" height="4000" style="width: 390px; height: 4000px; cursor: url(&quot;data:image/x-icon;base64,AAACAAEAAAAAAAAAAAAoAAAAFgAAACgAAAAAAAAAAAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=&quot;) 0 0, default;">
                Canvas not supported.
            </canvas>

以上代码可正常工作,但不确定其在画布中的单击位置。它在某个时候单击。但是,当我尝试传递offset时,将其移至element,然后滚动,则它永远无法工作。有时没有错误,有时又出现webdriver异常:driver.findElement(By.id("CST_canvas")).click();

以下,我尝试移动或单击特定元素:

代码1:

element not clickable at point

代码2:

            Actions builder = new Actions(driver);
            Action action = builder.moveToElement( driver.findElement(By.id("CST_canvas")))  // start point
                    .click()
                    .moveByOffset(500, 160) // second point
                    .doubleClick()
                    .build();
            action.perform();

0 个答案:

没有答案