Reputation: 201
I am using phantomJS and I want to select element from html webpage.
Here is my code in 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();
}
});
Here is my 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>
How to select this element using querySelector?
Upvotes: 14
Views: 2693
Reputation:
You need to use return !!document.querySelector('path[fill="#ffcc00"]')
it will return true if the selector is exist, otherwise 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();
}
});
Upvotes: 13