我正在尝试找到一种获取/下载website的方法。
我尝试过wget
和curl
,但是没有运气,然后我被引到PhantomJS
。
var url = 'https://www.sagedining.com/menus/admiralfarragutacademy';
var fs = require('fs');
var page = require('webpage').create();
page.open(url, function(status) {
if (status === 'success') {
var html = page.evaluate(function() {
return document.documentElement.outerHTML;
});
try {
fs.write("/root/choate/page.html", html, 'w');
} catch(e) {
console.log(e);
}
}
phantom.exit();
});
当我在Debian VPS上运行此代码时,
sudo xvfb-run -- phantomjs menu.js
它仍在加载时下载站点,因此仅下载加载屏幕。 每次运行时也会抛出此错误:
TypeError:尝试更改不可配置属性的设置器。
TypeError:尝试更改不可配置属性的设置器。
加载所有菜单后,是否可以下载该网站?错误消息与它有关吗?
谢谢。
答案 0 :(得分:0)
该错误来自PhantomJS,因为页面代码试图在DOM中设置某些属性,也许它无法访问它们。您应该等待加载发生,您可以使用超时功能来做到这一点:
((AndroidDriver) driver).startActivity(new io.appium.java_client.android.Activity("com.android.settings",".Settings"));