如何在硒的新选项卡中滚动

2023-12-06

我通过单击 c# 中的 selenium 中的某些内容打开了一个新选项卡。我想在更改到新选项卡后滚动,但出现超时错误。

我收到超时消息并且没有滚动。

这是 C# 代码。

二手 Chrome 79

Chrome 选项是

options.AddArguments("handlesAlerts=false");
            options.AddArguments("--disable-infobars");
            options.AddArguments("--no-sandbox");
            options.AddArguments("--disable-background-networking");
            options.AddArguments("--disable-component-extensions-with-background-pages");
            options.AddArguments("--dns-prefetch-disable");
            options.AddArguments("--ignore-certificate-errors");
            options.AddArguments("--ignore-certificate-errors-spki-list");
            options.AddArguments("--ignore-ssl-errors");
            options.AddArguments("--allow-running-insecure-content");
            options.AddArguments("lang=ko_KR");


if (this.driver.WindowHandles.Count > 1)
{
this.driver.SwitchTo().Window(this.driver.WindowHandles[1]);
}
Utils.sleep(3000);
((IJavaScriptExecutor)this.driver).ExecuteScript("window.scrollBy(0,500);");

你可以通过两个步骤来做到这一点, 搬到新的tab并做scroll there.

ArrayList<String> AllTabs = new ArrayList<String> (driver.getWindowHandles()); 
driver.switchTo().window(AllTabs.get(1));
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("window.scrollBy(0 , window.innerHeight)");

完成后您可以关闭该选项卡。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在硒的新选项卡中滚动 的相关文章

随机推荐

  • 纯 JavaScript,onclick 无法在移动设备上运行

    现在我并不是真正的 Javascript 明星 但我似乎遇到了移动设备和 onclick 功能的所有已知问题 Onclick 需要鼠标操作 当然在手机上不适用 现在在 Jquery 中 您可以使用 on 但是这如何与常规 javascrip
  • 无法解析“SingleSignOutFilter”中的“setCasServerUrlPrefix”

    最近升级了依赖 CAS 进行身份验证的 Spring Boot 应用程序后 该项目不再编译 因为setCasServerUrlPrefix找不到方法SingleSignOutFilter java cannot find symbol sy
  • R:覆盖栅格图层的xy坐标

    我有一个带有 XY 像素坐标的栅格 我想将其转换为纬度和经度 class RasterLayer dimensions 1617 1596 2580732 nrow ncol ncell resolution 1 1 x y extent
  • 使用 C# Process 运行可执行程序

    我是一名生物信息学人员 我的工作使用 C 我已经多次使用 C 中的进程来运行可执行程序 这次我有一个新问题 我在 Windows 中下载了一个名为 Blast 的程序的 exe 文件 如果我输入我的命令 blastp query input
  • python 中 GSDMM 的实际示例?

    我想使用 GSDMM 将主题分配给我的数据集中的一些推文 我发现的唯一例子 1 and 2 不够详细 我想知道您是否知道一个显示 GSDMM 是如何使用 python 实现的来源 或者足够关心做一个小例子 我最终编译了 GSDMM 的代码
  • 无法升级Android SDK

    我已经关闭了所有窗口 重新启动了计算机 但 Eclipse 告诉我 C Program Files android sdk tools 正在被访问 我什至删除了该目录 但我仍然得到 如何修复 无法重命名目录 C Program 文件 And
  • 使用 ToString() 格式化时小数和双精度之间的舍入差异

    使用格式化数值时我发现结果存在差异ToString F2 0 125m ToString F2 CultureInfo InvariantCulture 0 13 0 125 ToString F2 CultureInfo Invarian
  • 将所有并排单词成对分割字符串单词[关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我需要将字符串分割成单词 然后将每个连续的单词成对连接 如下所示 This is my
  • 检查文件/文件夹访问权限

    我得到一个UnautorizedAccessException运行这段代码 string fileList Directory GetFiles strDir strExt 异常发生在c users username appdata如何检查
  • Worklight 构建错误无法初始化 ClientProjectBuilder

    我突然开始收到如下所示的工作灯构建错误 我不知道为什么它突然开始发生 该代码工作正常 直到我用于 Xcode 构建的远程计算机重新启动 有什么线索可能导致它吗 ipad 构建失败 初始化 ClientProjectBuilder 失败 an
  • Amazon sns(推送通知)不发送到 IOS 应用程序

    最近app收不到通知 android端正常 ios端却失败 所以这就是我的尝试 1 generate token from apple apn service 2 create the endpoint at amazon backend
  • 代码行分析器是否需要解析树,这是否足够?

    我正在尝试确定为某种语言 例如可用于 Python 和 Matlab 的语言 编写线路分析器所需的条件 解释 行分析器 的一种天真的方法是假设可以在每一行周围插入时间记录 但行的定义取决于解析器如何处理空格 这只是第一个问题 似乎需要使用解
  • 跳出包含 switch 语句的 while 循环

    我无法弄清楚如何跳出包含 switch 语句的循环 Break 从开关中中断 而不是从循环中中断 可能有一个更优雅的解决方案 我已经实现了一个标志 该标志一开始为 true 然后设置为 false 然后结束循环 您能提供更好的解决方案吗 背
  • Dash Plotly 日期时间选择

    Dash 世界中是否有任何东西可以提供一个很好的界面来输入日期时间 时间增量 无论什么类型 np pd dt 等 我目前只能找到真正支持日期的代码https dash plotly com dash core components date
  • 如何循环遍历动态表单输入并将其插入数组

    我有一个表单 要求用户在多个表单字段中输入数字 他们可以选择他们想要的表单字段数量 我已将表单字段标记为 df1 df2 df3 等 对于用户添加的每个额外表单字段 只需在 df 后面的数字上加 1 我的问题是尝试捕获 使用 PHP 这些字
  • 如何使用模拟匿名类型的设置?

    我有以下存储库 interface IReportingRepository where T Report IEnumerable
  • Heroku + node.js 错误(Web 进程未能在启动后 60 秒内绑定到 $PORT)

    我有我的第一个node js应用程序 在本地运行良好 但我无法通过heroku部署它 也是第一次使用heroku 代码如下 SO 不允许我编写这么多代码 所以我只想说在本地运行代码以及在我的网络中都没有问题 var http require
  • 如何使用 Jasmine 测试 AngularJS 控制器的 Promise 返回值?

    我有一个控制器 它公开一个函数 该函数在休息调用后返回一些文本 它工作得很好 但我在用 Jasmine 测试它时遇到了麻烦 测试中 Promise 处理程序内的代码永远不会执行 控制器 global Q use strict angular
  • 避免打印到控制台的字符串被截断(在 RStudio 中)

    我想将一个长字符串打印到 RStudio 控制台 这样它就不会被截断 gt paste 1 300 letters collapse 1 1 a 2 b 3 c 4 d 5 e 6 f 7 g 8 h 9 i 181 y 182 z 183
  • 如何在硒的新选项卡中滚动

    我通过单击 c 中的 selenium 中的某些内容打开了一个新选项卡 我想在更改到新选项卡后滚动 但出现超时错误 我收到超时消息并且没有滚动 这是 C 代码 二手 Chrome 79 Chrome 选项是 options AddArgum