首页 > 解决方案 > 使用 scrollIntoView(top) 时,文本隐藏在 Selenium Webdriver 的固定 div 中

问题描述

我正在尝试单击屏幕中不可见的链接文本。所以我使用了 scrollIntoView(top) javascript 使文本可见,但文本移动到隐藏在标题固定 div 内的屏幕顶部。所以我不能点击那个链接。谁能帮我解决这个问题

 JavascriptExecutor js = (JavascriptExecutor) driver;
                js.executeScript("arguments[0].scrollIntoView(top);", Loadmoreweb);

标签: javascriptselenium-webdriver

解决方案


您当前使用top的不是有效输入。如果您查看文档,有几个选项。

  1. 如果您通过true,该元素将与页面顶部对齐(这看起来不像您想要的)。传递false将元素与页面底部对齐,这可能可行,也可能不可行。所以一种选择是

    arguments[0].scrollIntoView(false);
    
  2. 您可以传递具有三个设置的对象。您似乎唯一感兴趣的是垂直对齐。该block属性控制它。有一个设置似乎是您可能想要的block"center"

    arguments[0].scrollIntoView({block: "center"});
    

我在上面链接的文档中概述了其他选项。请务必阅读它们,看看哪一个适合您的特定场景,但这应该足以让您入门。


推荐阅读