Selenium WebDriver – Common Used API

本文介绍了使用 Selenium WebDriver 进行网页自动化测试的一些实用技巧,包括设置页面加载超时、获取页面标题、下拉框选择操作、截图保存、执行 JavaScript 代码、元素等待及窗口切换等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Set time out for page

Driver.Manage().Timeouts().SetPageLoadTimeout(TimeSpan.FromMinutes(_pagetimeout));

Page Title

  Driver.Title

Dropdown Select

SelectElement se = new SelectElement(Driver.FindElement(By.Id(selectControlId)));

Take ScreenShot

public static void GetScreenShot(Exception e)
        {
            
            DateTime time =DateTime.Now;
            String dir = @"..\..\..\..\..\TestResults\ScreenShot\";
            
            String path = dir +time.Year+time.Month+ time.Day + time.Hour + time.Minute + time.Second + ".png";
            if (! Directory.Exists(dir))
            {
                Directory.CreateDirectory(dir);
                
            }
            ((ITakesScreenshot)Driver).GetScreenshot().SaveAsFile(path,System.Drawing.Imaging.ImageFormat.Png);
            BrowserSeleniumHelper.assertFail(e);
            
        }

 

Excute JavaScript

 
 string script= "var start = document.getElementById('StartDate');" +
                    "start.value='2014-08-03 00:00:00';" ;
 IJavaScriptExecutor js = (IJavaScriptExecutor)Driver;
 js.ExecuteScript(script);
 BrowserSeleniumHelper.ExcuteScript("return document.getElementById('EndDate').click()");
 BrowserSeleniumHelper.ClickElement(By.XPath("/html/body/div[@class='t-animation-container']/div[@class='t-widget t-calendar t-popup t-datepicker-calendar']/table[@class='t-content']/tbody/tr[2]/td[2]/a[@class='t-link']"));

Wait Element

 private static void WaitElement(By by, double minutes)
 {
   try
     {
     WebDriverWait wait = new WebDriverWait(Driver, TimeSpan.FromMinutes(minutes));
     wait.Message = by.ToString() + " is not exist";
     wait.Until((d) => { return d.FindElement(by); });
     }
  catch(Exception e)
     {
     BrowserSeleniumHelper.GetScreenShot(e);
     }
 }

Support Multiple launch broser

public static void OpenBrowserMultipleTimes(string pageTitle, int actionCount)
{
bool isInited = false;

for (int i = 0; i < actionCount; i++)
{
try
{
if (!isInited)
{
OpenBrowser(pageTitle);
isInited = true;
}

}
catch (System.TimeoutException e)
{

}
catch (Exception e)
{
BrowserSeleniumHelper.GetScreenShot(e);
i = actionCount;
}

}

}

 

Switch to Window

public static void SwitchToWindow()
 {
 var windows = Driver.WindowHandles;
 foreach (var window in windows)
 {
 if (Driver.CurrentWindowHandle != window)
 {
 Driver.SwitchTo().Window(window);
 }
 }
 }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值