Selenium Actions无法与3.141.59版本一起使用

时间:2019-03-27 20:23:49

标签: java selenium try-catch action pom.xml

主要问题是我们试图更新POM以使用Selenium的3.141.59版本。在更新过程中,我们注意到Actions存在一些错误。阅读文档后,我们发现:

  

“导入org.openqa.selenium.interactions.Actions;”已不推荐使用   并替换为“ import org.openqa.selenium.interactions.Action”。

我们希望保持相同的行为,并更新代码以使用新的导入。我们尚未看到有关如何实际使用它的任何新文档。下面是我们如何使用旧操作的示例。

try {
       Actions actions = new Actions(driver);
       actions.moveToElement(searchDocument);
       actions.sendKeys(PDF);
       Thread.sleep(1000);
       actions.build().perform();
    }  catch(Exception e) {
}

我能够在Selenium的更改日志中找到此注释:

  

不赞成使用原始的Actions API,而采用W3C方法。

2 个答案:

答案 0 :(得分:1)

如果有帮助,这里是一个简单的示例。

Actions actions = new Actions(driver);

// create the mouserover action
Action mouseOverOnElement = actions.moveToElement(linkMenu).build();

// get the back ground color before mouse over             
String bgColor = linkMenu.getCssValue("background-color");
System.out.println("Before hover: " + bgColor);

// perform the mouseover operation        
mouseOverOnElement.perform();    

// get the back ground color after mouse over       
bgColor = linkMenu.getCssValue("background-color");
System.out.println("After hover: " + bgColor);

硒文档:https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/interactions/Action.html

答案 1 :(得分:0)

正如@Tyler在评论中所建议的那样,它对我有用:我能够做到这一点,我们发现它是Appium版本。如果将Selenium更新到最新版本,您将需要我们正在使用的Appium 7.0.0

也将Appium版本更新为7.0。