[C#/SELENIUM] Actions 클래스 : MoveToElement/Perform 메소드를 사용해 특정 엘리먼트까지 화면 스크롤시키기
C#/Selenium 2023. 5. 28. 23:36728x90
728x170
■ Actions 클래스의 MoveToElement/Perform 메소드를 사용해 특정 엘리먼트까지 화면을 스크롤시키는 방법을 보여준다.
▶ Program.cs
using System;
using System.Threading;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Interactions;
using OpenQA.Selenium.Support.UI;
namespace TestProject
{
/// <summary>
/// 프로그램
/// </summary>
class Program
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Static
//////////////////////////////////////////////////////////////////////////////// Private
#region 프로그램 시작하기 - Main()
/// <summary>
/// 프로그램 시작하기
/// </summary>
private static void Main()
{
ChromeDriverService driverService = ChromeDriverService.CreateDefaultService();
driverService.HideCommandPromptWindow = true;
ChromeOptions options = new ChromeOptions();
options.AddArgument("--start-maximized");
ChromeDriver driver = new ChromeDriver(driverService, options);
INavigation navigation = driver.Navigate();
navigation.GoToUrl("https://www.daum.net/");
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
wait.Until(d => (d as IJavaScriptExecutor).ExecuteScript("return document.readyState").Equals("complete"));
Thread.Sleep(1000);
IWebElement element = driver.FindElement(By.XPath("//*[@id=\"daumFoot\"]/div/a[1]/img"));
Actions actions = new Actions(driver);
actions.MoveToElement(element);
actions.Perform();
Console.WriteLine("크롬 브라우저를 종료하려면 아무 키나 눌러주시기 바랍니다.");
Console.ReadKey(false);
driver.Quit();
}
#endregion
}
}
728x90
그리드형(광고전용)