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();
  }
});