PhantomJS - выберите элемент html
Я использую 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?
Ответы
Ответ 1
Вам нужно использовать 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();
}
});