栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

元素不可见错误(无法单击元素)

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

元素不可见错误(无法单击元素)

在使用硒进行测试自动化中,这是一个相当普遍的问题。

以下是常见的解决方案:

  • 确保要单击的元素实际上是可见的。有时,您需要在页面上执行其他操作以使元素可见。例如,打开下拉菜单以显示选项,或打开菜单以显示子菜单
  • 等待 元素的可见性:

    var EC = protractor.ExpectedConditions;

    var mumbaiCity = element(by.id(‘mumbaiCity’));
    browser.wait(EC.visibilityOf(mumbaiCity), 5000);
    mumbaiCity.click();

  • 存在 的另一个元素 具有相同

    id
    ,实际上是不可见的。在这种情况下,您需要改进定位器以匹配此特定元素。例如:

    element(by.css(".city-checkbox #mumbaiCity")).click();

    element(by.css(“.city-checkbox input[ng-click*=Mumbai]”)).click();

  • 或者,如果你有多个元素匹配相同的定位-你可以“过滤”出了 可见的元素

    var mumbaiCity = element.all(by.id('mumbaiCity')).filter(function (elm) {return elm.isDisplayed().then(function (isDisplayed) {    return isDisplayed;});

    }).first();
    mumbaiCity.click();

  • 移至元素,然后单击通过

    browser.actions()

    var mumbaiCity = element(by.id('mumbaiCity'));

    browser.actions().mouseMove(mumbaiCity).click().perform();

  • 滚动到该元素的视图,然后单击:

    var mumbaiCity = element(by.id('mumbaiCity'));

    browser.executescript(“arguments[0].scrollIntoView();”, mumbaiCity.getWebElement());
    mumbaiCity.click();

  • 通过javascript 点击请注意区别:

    var mumbaiCity = element(by.id('mumbaiCity'));

    browser.executescript(“arguments[0].click();”, mumbaiCity.getWebElement());

  • 有时,您只需要 最大化浏览器窗口即可

    browser.driver.manage().window().maximize();


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/635124.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号