当前位置: 首页 > 知识库问答 >
问题:

单击弹出窗口中的链接

郎恺
2023-03-14

我有问题,点击链接从弹出窗口。单击按钮后,弹出窗口显示约3秒:

<toast-container class="ng-tns-c12-31 ng-star-inserted">
<div class="toast-top-center" id="toast-container" style="position: fixed;">
  <!----><div class="toast toast-info ng-star-inserted ng-animating">
    <!----><div class="toast-close-button ng-tns-c12-31 ng-star-inserted" style="">×
    </div> 
    <!---->
    <div class="ng-tns-c12-31">
      <!----><span class="toast-message ng-star-inserted" style="">Section will removed. <a class="toast-link">Cancel</a></span>
      <!---->
    </div>             
  </div>
</div>
</toast-container>

我正试图通过单击“取消”

element(by.partialLinkText('Cancel'))

var cancelLink = $('#toast-container a');
browser.executeScript("arguments[0].click();", cancelLink)

但是链接没有被点击。我不知道如何断言工作在这个弹出

var toastMessageBox = $('#toast-container');
    this.assertClearSelectionToastMessage = function () {
        expect(toastMessageBox.$('span').getText()).toBe(toastText)
        return this;
    }

共有2个答案

闾丘鸣
2023-03-14

弹出窗口尚未加载。链接不可见,因此无法单击。您必须等待弹出窗口出现。

元素有可能是可点击的,而点击元素什么也不做。

见:https://stackoverflow.com/a/21387564/1997776

@Jonny Leeds指出:

要注意的一件大事是按钮是否启用。你仍然可以点击它们,没有任何东西会掉下来,元素就在那里,但是它还没有准备好被点击,所以什么都不要做。

杨柏
2023-03-14

也许你可以尝试使用网络驱动程序操作生成器强制点击链接?

类似于:浏览器的东西。wait(量角器、预期条件、可视性(元素)(by.css('a.toast_link')),5000);驾驶员动作()。单击(元素(by.css('a.toast\u link'))。执行()

问题是它只在桌面浏览器上工作——它还没有在Appium中实现——所以如果你也在移动浏览器上测试的话,你可能需要引入一些不同的逻辑。

 类似资料:
  • 我有这段代码显示了一个按钮谁显示一个弹出窗口,我希望用户能够关闭弹出窗口点击它的外部时,它是打开的。

  • 完成表单并点击注册按钮后,我得到一个弹出的信息消息(模态),消息中有close(X)和OK按钮和标题:在ABC Project下,显示了以下内容&通知用户注册成功的文本。 我尝试了几种方法来点击这个弹出窗口中的OK按钮,但都没有成功: 附加提示: null 我很感激你给我的提示和支持谢谢

  • 使用WordPress和Elementor页面生成器,我创建了一个navmenu弹出式模板。我希望在单击包含子菜单的菜单项时淡入子菜单项并隐藏菜单。 当我向弹出窗口添加JavaScript代码(使用附加组件)时,eventlistener函数不起作用,但我的代码工作正常。我在简单的页面中使用它,但不在弹出窗口中使用它;我尝试了(自定义CSS和JS)插件,但也没有成功。这是Elementor中的一个

  • 请看附上的图片!我尝试了下面的代码警报,但它没有工作。 Driver.SwitchTo().Alert()。

  • 问题内容: 有人可以建议我如何在Java Swing中实现弹出窗口。我希望弹出窗口是模式窗口(打开弹出窗口时用户无法返回主窗口)。 我尝试使用JDialog进行操作,但是它只允许一个小部件供用户输入,而我需要多个小部件。我在这里可能是错的,但这就是我能够做到的。 感谢你的帮助。 问题答案: 使用一个JDialog。可以添加的内容没有限制,可以将所需的内容添加到JDialog中(与使用JFrame时

  • 所以我正在c#winform中使用硒火狐web驱动程序,我在下面有这段代码来获取弹出窗口的句柄,当您单击“webtraffic_popup_start_button”时显示,它应该获得弹出窗口的句柄,但弹出句柄与当前句柄相同。 任何帮助将不胜感激 这就是弹出式菜单的样子。