首页 > 其他分享 >.net Selenium 截图

.net Selenium 截图

时间:2023-03-10 23:34:01浏览次数:34  
标签:截图 string Selenium driver ex new net options

2)使用Package Manager命令安装

PM> Install-Package Selenium.Support -Version 3.141.0
PM> Install-Package Selenium.Chrome.WebDriver -Version 79.0.0

3)使用.NET CLI命令安装

> dotnet add package Selenium.Support -Version 3.141.0
> dotnet add package Selenium.Chrome.WebDriver --version 79.0.0

2、载取可视区域图片

  public static void PageScreenshot(string url,string path)
        {
            ChromeDriver driver = null;
            try
            {
                ChromeOptions options = new ChromeOptions();
                options.AddArguments("headless", "disable-gpu");
                 driver = new ChromeDriver(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), options);
                driver.Navigate().GoToUrl(url);
                var screenshot = (driver as ITakesScreenshot).GetScreenshot();
                screenshot.SaveAsFile(path);
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message+Environment.NewLine+ex.StackTrace);
            }
            finally
            {
                if (driver != null)
                {
                    driver.Close();
                    driver.Quit();
                }
            }
        }

3、载取有滚动条网页长图

        public static void PageScreenshot(string url,string path)
        {
            ChromeDriver driver = null;
            try
            {
                ChromeOptions options = new ChromeOptions();
                options.AddArguments("headless", "disable-gpu");
                driver = new ChromeDriver(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), options);
                driver.Navigate().GoToUrl(url);
                string width = driver.ExecuteScript("return document.body.scrollWidth").ToString();
                string height = driver.ExecuteScript("return document.body.scrollHeight").ToString();
                driver.Manage().Window.Size = new System.Drawing.Size(int.Parse(width), int.Parse(height)); //=int.Parse( height);
                var screenshot = (driver as ITakesScreenshot).GetScreenshot();
                screenshot.SaveAsFile(path);
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message+Environment.NewLine+ex.StackTrace);
            }
            finally
            {
                if (driver != null)
                {
                    driver.Close();
                    driver.Quit();
                }
            }
        }

标签:截图,string,Selenium,driver,ex,new,net,options
From: https://www.cnblogs.com/l1pe1/p/17204995.html

相关文章

  • Docker Network命令
    列出所有网络--dockernetworkls#dockernetworklsNETWORKIDNAMEDRIVERSCOPE3a7ff82cf61bbridgebridgelocal81ec257be06bhost......
  • Optimal ANN-SNN conversion for high-accuracy and ultra-low-latency spiking neura
    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布!PublishedasaconferencepaperatICLR2022 ABSTRACT脉冲神经网络(SNN)因其独特的低功耗属性和对神经形......
  • NET - DependencyInjection - Scrutor
    1安装1.1命令PM>NuGet\Install-PackageScrutor-Version4.2.12使用2.1装配扫描Scrutor有两个针对服务集合 ServiceCollection 类的扩展方法:Scan 和Decor......
  • J4、ResNet与DenseNet结合探索
    ......
  • C# ASP.NET MVC 配置允许跨域访问
    在web.config文件中的system.webServer节点下增加如下配置<httpProtocol><customHeaders><addname="Access-Control-Allow-Origin"value="*"/>......
  • Windows Server 2012上安装.NET Framework 3.5
    1、打开服务器管理器 首先,打开服务器管理器,点击左侧的“仪表盘”,如下图所示。2、添加角色和功能点击上图中的“添加角色和功能”,弹出下图所示“添加角色和功能向导”......
  • ASP.NET Core - 配置系统之配置提供程序
    3.配置提供程序上面提到,通过IConfigurationBuilder的实现类对象,我们可以自由地往配置系统中添加不同的配置提供程序,从而获取不同来源的配置信息。.NETCore中,微软提供......
  • 如何在 Net6.0 中对 WebAPI 进行 JWT 认证和授权
    一、简介我们做微服务开发,或者说做分布式开发,有一项技术我们是避不开的,那就是WebAPI,在Net6.0中,有两类WebAPI,一类是极简WebAPI,它砍掉了很多冗余的东西,更纯粹的......
  • 如何在NET 6.0使用结构化的日志系统
     在我们的系统里面,有一项技术是必须使用的,那就是日志记录。我们在调试系统或者跟踪系统运行情况,都可以通过日志了解具体的情况。在项目开发中,我们有可能使用系统本身所带......
  • .net core 项目内网IP访问设置
     修改applicationhost.config文件夹,增加一条电脑IP访问地址(记得IP需要更换为自己电脑IP,端口和localhost相同)<bindings> <bindingprotocol="http"bindingInfo......