1

我需要模仿浏览器的行为。假设我需要访问网页的 DOM 属性(例如 Document.cookie 或 window.onblur 等),而无需在实际浏览器中加载网页,也无需在浏览器。

事实上,我正在尝试做一些我有一个想象中的浏览器对象浏览器的事情。所以,我可以这样做:

BROWSER g = BROWSER.load('google.com');
g.document.cookie();
g.window.onblur();

我想这被称为“浏览器检测”。我该怎么做 ?有任何想法吗.. ?

4

2 回答 2

2

您最好的选择可能是 Selenium (http://seleniumhq.org/)。尽管它确实使用了真实的浏览器(如果您想在真实的浏览器环境中进行测试,这是必要的),但它可以让您完全自动化/控制该浏览器以使其为所欲为。使用它,您可以编写如下代码:

# Pseudo-code to search for Selenium on Google
browser.open('www.google.com')
browser.findElementByCSS('#search').value('Selenium')
browser.findElementByCSS('#submitButton').click()

这听起来像你正在尝试做的事情。

于 2012-06-05T22:24:08.950 回答
2

这是你要找的东西吗?它被称为PhantomJS

从网站:

完整的网络堆栈,无需浏览器

PhantomJS 是一个带有 JavaScript API 的无头 WebKit。它具有对各种 Web 标准的快速和原生支持:DOM 处理、CSS 选择器、JSON、Canvas 和 SVG。

使用 Jasmine、QUnit 或 CasperJS 等框架运行功能测试。

于 2012-06-06T21:29:13.647 回答