我正在使用phantomJS,我想从html网页中选择元素。
这是我在phantomJS中的代码:
var page = require('webpage').create();
var url = 'http://localhost:9001/build/browser/index.html';
page.open(url, function (status) {
if (status === 'success') {
var input = page.evaluate(function() {
return document.querySelector('[fill="#ffcc00"]');
}, 2000);
console.log(input);
phantom.exit();
}
});
这是我的HTML:
<html lang="en-US" class=" js ">
<head>
</head>
<body>
<section class="mapSection">
<article id="mainMap">
<div id="map" class="leaflet1" >
<div class="leaflet2" >
<div class="leaflet3">
<div class="leaflet4">
<svg class="leaflet5" >
<g>
<path stroke="#000000" fill="#ffcc00" class="leaflet6" ></path>
</g>
</svg>
</div>
</div>
</div>
</div>
</article>
</section>
</body>
</html>
如何使用querySelector选择此元素?
答案 0 :(得分:13)
你需要使用return !!document.querySelector('path[fill="#ffcc00"]')
如果选择器存在则返回true,否则返回false。
var page = require('webpage').create();
var url = 'http://localhost:9001/build/browser/index.html';
page.open(url, function (status) {
if (status === 'success') {
var input = page.evaluate(function() {
return !!document.querySelector('path[fill="#ffcc00"]'); // returns true if the selector is exist, otherwise false.
}, 2000);
console.log(input);
phantom.exit();
}
});