В Chrome я могу проверить элемент -> щелкнуть правой кнопкой мыши -> скопировать -> скопировать Xpath (или селектор).
Теперь, используя PHP Symfony, я нахожу такой элемент, давайте предположим, что он возвращает 1 узел DOMElement:
$node = $crawler->filterXPath("//*[text()='Super dee question']");
Теперь, как я могу получить селектор CSS, как если бы этот узел $ был узлом в Google Chrome, и я выполнил шаги, описанные выше: щелкните правой кнопкой мыши и осмотрите $ узел на странице chrome -> copy -> copy Xpath. Очевидно, я не ищу Xpath, содержащий Super Dee, но что-то более похожее на
//*[@id="product_addtocart_form"]/div[2]/h1
РЕДАКТИРОВАТЬ: кажется, что я могу сделать DOMNode :: getNodePath (void), однако при использовании Chrome он обычно может определить ближайший @id и использовать его, что гораздо точнее, чем DOMNode :: getNodePath (void), который выглядит что-то вроде:
/html/body/div[2]/div/div[1]/div[2]/div[2]/div[3]/div[1]/form/div[2]/h1