更改 PhantomJS 中的用户代理设置是否会改变屏幕的视角 capture/screenshot?
Does changing the user-agent setting in PhantomJS change the perspective of the screen capture/screenshot?
我对使用 PhantomJS 比较陌生,想截取我们网站的屏幕截图以便稍后比较。我想知道的是更改用户代理设置是否会影响屏幕截图的视角(即图像是否会出现不同)? - 如果不能,您建议我如何截取模拟不同浏览器的屏幕截图(希望使用 Phantom,但愿意接受建议)?
// PhantomJS Code
page = require('webpage').create();
// Used for Firebird (old Firefox)
page.settings.userAgent = 'Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.5) Gecko/20031007 Firebird/0.7';
// Used for Chrome
page.settings.userAgent = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36';
page.viewportSize = {width: 1200, height : 800};
page.open("webAddress", function() {
page.render(picName);
pahntom.exit();
});
Link to HTML/CSS code used and referenced below
是的,我已经通过更改用户代理属性进行了测试,并已截图确认(上面的代码)。我们的网站定义明确,通常不会因浏览器而异,因此这更像是一种预防措施。 - 我也曾尝试进行一些更改,在不同的浏览器中使用时会故意导致网站看起来不同。无论我更改什么,它们似乎仍然以相同的方式被 PhantomJS 捕获。
** 免责声明:如前所述,我对 PhantomJS 比较陌生。我已经阅读了很多文档和相关帖子,但还没有真正找到我的问题的答案。我也是一名新的 Web 开发人员(做过很多后端编程,所以我不一定是新手程序员)所以也许我的 "deliberate" 更改不正确?或者,也许我没有以正确的方式使用用户代理属性?
如果我可以更具体一点,请告诉我。 - Any/all 帮助将不胜感激!
当然可以显示不同。默认情况下,一些 Web 服务器响应固定宽度的页面。如果您专门设置了一个网络服务器已知的用户代理字符串,它表示一个移动浏览器,您可能会得到一个页面的小屏幕优化版本。
PhantomJS 的默认视口为 400 x 300 像素。这意味着页面的移动版本可能会按预期呈现。固定宽度的页面可以增加视口大小。
并非所有网站都会根据用户代理字符串做出不同的反应。请记住,如果您在多次脚本执行期间截取屏幕截图而不做任何更改,则页面看起来可能会有所不同,因为某些页面和广告会经常更改。
我对使用 PhantomJS 比较陌生,想截取我们网站的屏幕截图以便稍后比较。我想知道的是更改用户代理设置是否会影响屏幕截图的视角(即图像是否会出现不同)? - 如果不能,您建议我如何截取模拟不同浏览器的屏幕截图(希望使用 Phantom,但愿意接受建议)?
// PhantomJS Code
page = require('webpage').create();
// Used for Firebird (old Firefox)
page.settings.userAgent = 'Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.5) Gecko/20031007 Firebird/0.7';
// Used for Chrome
page.settings.userAgent = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36';
page.viewportSize = {width: 1200, height : 800};
page.open("webAddress", function() {
page.render(picName);
pahntom.exit();
});
Link to HTML/CSS code used and referenced below
是的,我已经通过更改用户代理属性进行了测试,并已截图确认(上面的代码)。我们的网站定义明确,通常不会因浏览器而异,因此这更像是一种预防措施。 - 我也曾尝试进行一些更改,在不同的浏览器中使用时会故意导致网站看起来不同。无论我更改什么,它们似乎仍然以相同的方式被 PhantomJS 捕获。
** 免责声明:如前所述,我对 PhantomJS 比较陌生。我已经阅读了很多文档和相关帖子,但还没有真正找到我的问题的答案。我也是一名新的 Web 开发人员(做过很多后端编程,所以我不一定是新手程序员)所以也许我的 "deliberate" 更改不正确?或者,也许我没有以正确的方式使用用户代理属性?
如果我可以更具体一点,请告诉我。 - Any/all 帮助将不胜感激!
当然可以显示不同。默认情况下,一些 Web 服务器响应固定宽度的页面。如果您专门设置了一个网络服务器已知的用户代理字符串,它表示一个移动浏览器,您可能会得到一个页面的小屏幕优化版本。
PhantomJS 的默认视口为 400 x 300 像素。这意味着页面的移动版本可能会按预期呈现。固定宽度的页面可以增加视口大小。
并非所有网站都会根据用户代理字符串做出不同的反应。请记住,如果您在多次脚本执行期间截取屏幕截图而不做任何更改,则页面看起来可能会有所不同,因为某些页面和广告会经常更改。