首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Selenium WebDriver (Java)翻阅笔记本(HTML5)上的页面

使用Selenium WebDriver (Java)翻阅笔记本(HTML5)上的页面
EN

Stack Overflow用户
提问于 2012-11-08 13:47:21
回答 1查看 488关注 0票数 2

我想翻阅笔记本,,不使用任何按钮或类似的东西,但实际上点击页面的活动元素,或通过拖动页面到下一个页面。笔记本电脑和这一个很相似。我尝试了许多不同的方法,但都失败了。

我试着去工作的代码是:

代码语言:javascript
复制
    WebElement page= driver.findElement(By.xpath("//*[@id='pages']/section[4]/div"));
    Actions kkk = new Actions(driver);
    Actions flip= kkk.moveToElement(page, 780, 200);
    flip.click().build().perform();

我还尝试了下一个方法:

代码语言:javascript
复制
flip.perform();
Thread.sleep(200); //to allow the mouse to hover and activate the page
flip.click().perform();

没有什么工作,鼠标悬停在蜜柜的地方,如果我试图点击在同一个地方,它只是重置和页面回滚平。

另外,如果不使用偏移量(坐标),我想不出任何其他方法可以找到花环位置(元素的活动点)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-08 14:06:58

这似乎更多地体现在drag and drop上。

试着做这样的事

代码语言:javascript
复制
WebElement draggable = browser.findElement(By.xpath("//*[@id='pages']/section[4]/div")); 
new Actions(browser).dragAndDropBy(draggable, 200, 10).build().perform();  

基于

org.openqa.selenium.interactions.Actions.dragAndDropBy(WebElement source, int xOffset, int yOffset)

更新

或者是这边

代码语言:javascript
复制
WebElement element = driver.findElement(By.name("source"));
WebElement target = driver.findElement(By.name("target"));

(new Actions(driver)).dragAndDrop(element, target).perform();

更新2

或者是这边

代码语言:javascript
复制
Actions builder = new Actions(driver);

   Action dragAndDrop = builder.clickAndHold(someElement)
       .moveToElement(otherElement)
       .release(otherElement)
       .build();

   dragAndDrop.perform();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13290211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档