当前位置: 首页 > 面试题库 >

在由Selenium驱动的PhantomJS C#中设置屏幕大小

梁丘琛
2023-03-14
问题内容

如何设置浏览器的屏幕尺寸?在设置PhantomJS之后,当我拍摄如下屏幕快照时,它仅显示400px宽的图像。

var driverService = PhantomJSDriverService.CreateDefaultService();
driverService.HideCommandPromptWindow = true;
driverService.LoadImages = false;
driverService.ProxyType = "none";

using (var driver = new PhantomJSDriver(driverService))
{
    etc....
}

问题答案:

它应该与在其他任何浏览器中设置窗口大小相同,请看以下示例:如何使用Selenium
WebDriver获取窗口大小,调整大小或最大化窗口

这是经过测试的代码对我有用:

var driverService = PhantomJSDriverService.CreateDefaultService();
driverService.HideCommandPromptWindow = true;
driverService.LoadImages = false;
driverService.ProxyType = "none";

using (var driver = new PhantomJSDriver(driverService)) {
    driver.Manage().Window.Size = new Size(1920, 1080); // Size is a type in assembly "System.Drawing"
    driver.Url = "http://www.stackoverflow.com";
    driver.TakeScreenshot().SaveAsFile(@"c:\phantomjs_screenshot.png", ImageFormat.Png);
}


 类似资料:
  • 我试着用java selenium web驱动程序中的TakeScreenshot来截屏。当我在页面中使用scrollTo(x, y)滚动特定数量时,TakeScreenshot方法会给我屏幕截图第一个视口,而不是滚动后到达的视口。 我想知道TakeScreenshot方法是给出OperaWebDriver中第一个视口的屏幕截图还是当前视口的屏幕截图。在chrome中,它拍摄了当前网络驱动程序的屏

  • 我第一次使用swing API来获得我的win应用程序的屏幕分辨率。 如何设置目前的屏幕大小在Java摆动?

  • 我正在使用Selenium WebDrive,在Chrome浏览器中使用C#进行自动化。我需要检查我的网页是否被阻挡在某些地区(一些ip范围)。所以我必须在我的Chrome浏览器中设置一个代理。我尝试了下面的代码。代理正在设置,但我得到一个错误。有人能帮我吗? 运行此代码时,我在Chrome浏览器中收到以下消息:我试图启用代理选项,但“更改代理设置”选项被禁用。 *无法连接到代理服务器 代理服务器

  • 我只需要当前视口的屏幕截图,特别是滚动位置。基本上是当前Chrome驱动程序所做的。 据我所知,这似乎是完全可能的,但出于某种原因,屏幕截图命令总是努力拍摄完整的文档屏幕截图。事实上,IE驱动程序拍摄多个视口快照,然后将它们缝合在一起。 我使用的是Ruby webdriver,但我看不到任何东西,只能截取视口的屏幕。可能吗?

  • 问题内容: 嗨,我正在使用类似于以下内容的方法来将div定位在屏幕中间: 但是,这样做的问题是它将项目放置在页面的中间而不是屏幕的中间。因此,如果页面高了几个屏幕,而我使div出现时,我就位于页面的顶部(该部分的顶部显示在屏幕上)。您必须向下滚动才能查看它。 有人可以告诉我您如何将其显示在屏幕中间吗? 问题答案: 只需添加即可,即使您向下滚动也可以看到它。

  • 我正在用selenium webDrive在我的测试用例中创建屏幕截图,虽然这些截图确实显示了我的网络应用程序中可见的内容,但它不显示浏览器创建的弹出窗口。 我发现在IE中,在某些情况下,我的应用程序会在IE中触发一个JS调试弹出窗口。这当然是一个错误,会破坏我其余的测试,但屏幕截图没有显示错误。我认为这是因为它是IE本机弹出窗口,而不是我的应用程序的一个触发器。 有没有可能在截图中包含这一点?我