C# Selenium Edge 驱动下的常见用法

using OpenQA.Selenium;
using OpenQA.Selenium.Edge;
using OpenQA.Selenium.Support.UI;

//添加缩放属性  将浏览器缩放设为100%  
EdgeOptions options=new EdgeOptions();
options.AddArgument("force-device-scale-factor=1");

//不需添加额外属性 options可不写  直接 var driver = new EdgeDriver()
using (var driver = new EdgeDriver(options))
{
    //打开指定Url路径
    driver.Navigate().GoToUrl("https://test.com");

//将浏览器全屏化

    driver.Manage().Window.Maximize();
    
    try
    {

      /可添加等待时间  等待网页加载  直至某元素出现
        WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));

        //等待直到标题出现
        //wait.Until(d=>d.Title.Contains("Example Domain"));

        //等待特定元素出现
        //等待Test按钮出现
        wait.Until(d => d.FindElement(By.Id("test-button")).Displayed);
        //查找按钮元素并点击
        IWebElement buttonElement = driver.FindElement(By.Id("test-button"));
        buttonElement.Click();


        //网页跳转后  等待网页加载
        System.Threading.Thread.Sleep(1000);
        //直到某元素出现  by -name
        wait.Until(d => d.FindElement(By.Name("username")).Displayed);

         //by -css
        //wait.Until(d => d.FindElement(By.CssSelector("input[class='test']")).Displayed);
        // wait.Until(d => d.FindElement(By.XPath("//input[@name='test 1  color 1']")).Displayed);

        //获取class包含test的元素

        IWebElement input_name = driver.FindElement(By.CssSelector("input[class*='test']"));
        //往input框赋值
        input_name.SendKeys("test");
       

        //不好获取ID、Name、Class时,可采用XPath方式

        wait.Until(d => d.FindElement(By.XPath("//button[@type='submit']")).Displayed);
        //wait.Until(d => d.FindElement(By.CssSelector("input[type='submit']")).Displayed);
        //wait.Until(d => d.FindElement(By.ClassName("test")));
        buttonElement = driver.FindElement(By.XPath("//button[@type='submit']"));
      
        buttonElement.Click();

  //Radiobutton 的获取

        //wait.Until(d => d.FindElement(By.XPath("//input[@type='type1' and @name='name' and @value='1']")).Displayed);
        //IWebElement radio_name = driver.FindElement(By.XPath("//input[@type='type' and @name='name' and @value='1']"));
       // radio_name.Click();

     //By Class  获取按钮

        wait.Until(d => d.FindElement(By.ClassName("test-button")).Displayed);
        
        buttonElement = driver.FindElement(By.ClassName("test-button"));
        buttonElement.Click();
        //By XPath  获取a 、i 标签
        //wait.Until(d => d.FindElement(By.XPath("//i[@class='tets test-color-green test-status-ok-core']")).Displayed);
     
        //wait.Until(d => d.FindElement(By.XPath("//a[@Test-click='redirectToselectedTest(TestStatusSystem.id)']")).Displayed);

        IWebElement test_div = driver.FindElement(By.Id("test_div"));
        //获取test_div中的所有div
        //var div_count = test_div.FindElements(By.TagName("div"));

       //只获取test_div里最外层div
        var div_count = sys_div.FindElements(By.XPath("./div"));
       

//获取Strong元素的外层a标签方法
       
        wait.Until(d => d.FindElement(By.XPath("//strong[@id='test']/parent::a")).Displayed);

        buttonElement = driver.FindElement(By.XPath("//strong[@id='test']/parent::a"));
        buttonElement.Click();

      
        //执行JavaScript脚本来滚动页面
        IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
        js.ExecuteScript("window.scrollTo(0,document.body.scrollHeight)");

        

        //下拉到指定标签位置 如: label translate="test"
        IWebElement targetElement = driver.FindElement(By.XPath("//label[@test']"));
        js.ExecuteScript("arguments[0].scrollIntoView(true);", targetElement);

      //勾选CheckBox

        //wait.Until(d => d.FindElement(By.Id("cb_ck")).Displayed);
        //IWebElement checkbox = driver.FindElement(By.Id("cb_ck"));
        //if (checkbox.Selected == false)
        //{
        //    checkbox.Click();
        //}

       
       
    }
    catch(Exception ex)
    {
        MessageBox.Show(ex.Message);
        
    }
    
}

回答: Selenium是一个用于Web应用程序测试的工具,它可以直接在浏览器中运行测试,模拟真实用户的操作。它支持通过各种驱动程序(如FirefoxDriver,IternetExplorerDriver,OperaDriver,ChromeDriver)来控制真实浏览器完成测试,并且还支持无界面浏览器操作。使用Selenium可以模拟浏览器功能,自动执行网页中的JavaScript代码,实现动态加载。安装Selenium可以通过下载适合谷歌浏览器版本的驱动程序,并使用pip命令进行安装。使用Selenium的步骤包括导入必要的模块,创建浏览器操作对象,访问网址等。新版本的Selenium语法可以使用selenium.webdriver.common.by模块中的By类来访问元素信息。例如,通过ID属性定位元素可以使用browser.find_element(By.ID, 'element_id')。使用新语法还可以执行点击、输入、后退、前进、模拟JS滚动等操作,以及获取网页代码和退出浏览器等功能。Selenium是一种强大的开源Web功能测试工具,支持多平台、多浏览器、多语言的自动化测试。它可以在Windows、Mac等平台上运行,支持多种开发语言,如Java、C#、Ruby、Python和JavaScript,并且可以操作Chrome、Firefox、Edge、Opera、IE、Safari等多种浏览器。123 #### 引用[.reference_title] - *1* *2* [Python爬虫_04_Selenium_Phantomjs_Chrome handless_ Selenium新版本语法案例](https://blog.csdn.net/weixin_43865196/article/details/124252834)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] - *3* [selenium用法(最新版)](https://blog.csdn.net/stitchD/article/details/123818886)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值