【问题标题】:Removing scrollbar from Selenium Screenshots从 Selenium 屏幕截图中删除滚动条
【发布时间】:2020-05-24 02:37:37
【问题描述】:

我正在使用 Chromedriver 获取网页的屏幕截图。我的代码运行良好。 我现在正在尝试删除丑陋的滚动条。是否可以将 CSS 注入页面?我见过几个similar questions,它们确实暗示这是可能的(“你也可以让 Chromedriver 在没有滚动条的弹出窗口中打开 url。你可以使用一些 Javascript 来做到这一点。”)但没有显示这是怎么可能的。

有人知道怎么做吗?

IWebDriver driver = new ChromeDriver();
driver.Manage().Window.Size = new Size(1100, 1100);
driver.Navigate().GoToUrl("http://google.com/");
Screenshot ss = ((ITakesScreenshot)driver).GetScreenshot();

//Temp Img
string screenshot = ss.AsBase64EncodedString;
byte[] screenshotAsByteArray = ss.AsByteArray;
ss.SaveAsFile(fileNameTemp, ScreenshotImageFormat.Jpeg); 
ss.ToString();

【问题讨论】:

    标签: javascript c# css selenium selenium-chromedriver


    【解决方案1】:
        // Create a driver instance for chromedriver
        IWebDriver driver = new ChromeDriver();
        IJavaScriptExecutor js = (IJavaScriptExecutor)driver; 
        driver.Manage().Window.Size = new Size(1100, 1100);
        driver.Navigate().GoToUrl(hehe[i]);
        js.ExecuteScript("return document.body.style.overflow = 'hidden';");
    

    成功了!

    【讨论】:

    • 和 'visible 把它们放回去 ie: object.style.overflow = "visible|hidden|scroll|auto|initial|inherit"
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-28
    • 1970-01-01
    • 2011-10-13
    • 2016-02-12
    • 1970-01-01
    相关资源
    最近更新 更多