使用 C# 如何使用 Selenium WebDriver 滚动到元素?


可以使用 C# 中的 Selenium webdriver 滚动到某个元素。借助JavaScript 执行程序可以实现此操作。Selenium 可以利用ExecuteScript方法运行 JavaScript 命令。

JavaScript 中的scrollIntoView方法用于执行滚动操作,并将true值作为参数传递给该方法。然后将其传递给 ExecuteScript 方法。

语法

var e = driver.FindElement(By.XPath("//*[text()='Careers']"));
((IJavaScriptExecutor)driver)
.ExecuteScript("arguments[0].scrollIntoView(true);", e);

在实现中,我们将使用 NUnit 框架。

示例

using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;
using System;
namespace NUnitTestProject1{
   public class Tests{
      String u = "https://tutorialspoint.com/index.htm";
      IWebDriver d;
      [SetUp]
      public void Setup(){
         //creating object of FirefoxDriver
         d = new FirefoxDriver();
      }
      [Test]
      public void Test1(){
         //launching URL
         d.Navigate().GoToUrl(u);
         //identify element
         var e = d.FindElement(By.XPath("//*[text()='Careers']"));
         // JavaScript Executor to scroll to element
         ((IJavaScriptExecutor)d)
         .ExecuteScript("arguments[0].scrollIntoView(true);", e);
         Console.WriteLine(e.Text);
      }
      [TearDown]
      public void close_Browser(){
         d.Quit();
      }
   }
}

输出

单击全部运行测试按钮 -

单击为此结果打开其他输出链接 -

我们应该会看到测试结果标准输出

更新于:2021 年 1 月 30 日

4000 多次浏览

开启您的 职业生涯

完成课程以获得认证

开始学习
广告