使用 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.tw/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 多次瀏覽

開啟您的 職業生涯

完成課程以獲得認證

開始學習
廣告