【问题标题】:Selenium Actions moveToElement on Google Chrome 75.0.3770.80 on ubuntu doesnot workubuntu 上 Google Chrome 75.0.3770.80 上的 Selenium Actions moveToElement 不起作用
【发布时间】:2019-10-30 03:22:43
【问题描述】:

选择了一个元素并想要 --> 将鼠标光标移动到它上面。

尝试使用 selenium 提供的 Actions 类。使用的方法是 moveToElement()

Actions actions = new Actions(driver);
actions.moveToElement(element).build().perform();

使用的驱动程序版本是 ChromeDriver 75.0.3770.90。

预期:- 物理光标必须移动到元素位置。

【问题讨论】:

    标签: javascript selenium selenium-chromedriver


    【解决方案1】:

    您使用的方法似乎是正确的。看起来你需要等待它快速移动到下一个语句

    Actions actions = new Actions(driver);
    actions.moveToElement(element).build().perform();
    try{
         Thread.sleep(6000);
    }
    catch(Exception ex){
    
    }
    

    你的元素还没有准备好,你需要像下面这样等待它:

    Actions actions = new Actions(driver);
    WebElement myDynamicElement = (new WebDriverWait(driver, 10))
      .until(ExpectedConditions.presenceOfElementLocated(By.id("myDynamicElement")))
    
    actions.moveToElement(element).build().perform();
    

    【讨论】:

    • 嗨shubham,这个问题的真正原因是ubuntu linux。代码在 Windows 上完美运行。
    【解决方案2】:

    我在使用 chrome 75.0.3770.90 和 chrome 驱动程序 75.0.3770.8 时也遇到了同样的问题。 尝试这样做:

    actions.moveToElement(element).release().build().perform();
    

    这解决了我的问题。

    【讨论】:

    • 谢谢。如果可行,我会试用您的代码,我会将其标记为已解决并已接受的答案。
    【解决方案3】:

    升级到 Chrome 75 后我遇到了同样的问题。

    Actions actions = new Actions(driver);
    actions.moveToElement(element).build().perform();
    element.click();
    

    这真的为我解决了问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-26
      • 1970-01-01
      • 1970-01-01
      • 2017-11-14
      • 1970-01-01
      • 1970-01-01
      • 2017-05-28
      • 1970-01-01
      相关资源
      最近更新 更多