Minkは、提供するAPIと複数のドライバ(goutte、gecko/firefox ...)とのやりとりが可能なため、良い選択です。
生成されたCSSがjavascriptによって変更されていない場合は、mink + goutteが最適なオプションかもしれませんが、JavaScriptが何らかの形でjavascriptで変更された場合は、mink +セレンの設定が最適です(またはmink + zombie)。この第2のアプローチは、 "goutte"よりもセットアップが遅く、遅くなることを覚えておいてください。
domにアクセスする方法はjQueryと異なりますが、セレクタはほぼ同じですが、実際にはminkには4種類のセレクタが用意されています。
「xpath」セレクタを使ってほとんどすべてを行うことができます。私はまた、 "css" + NodeElementメソッドを検討することをお勧めします。これは、単純であり、ほとんどの場合に役立ちます。
ここでは、2つのアプローチとウィキペディアに基づく一例である。
$xPath = '//a[@id="js-link-box-en"]/@href';
$nodeElement = $this->getSession()->getPage()->find('xpath', $xPath);
$theHrefValue = $nodeElement->getText();
Alternativelly:
は、あなたがwikiperia.orgに行くと、あなたは英語のエントリリンクを維持したいと想像
$nodeElement = $this->getSession()->getPage()->find('css', '#js-link-box-en')
$theHrefValue = $nodeElement->getAttribute('href');
私はそれが決定を下すのに役立つことを望みます。
何属性あなたが取得しようとしていますか? [Symfony crawler](https://symfony.com/doc/current/testing.html#extracting-information)には 'attr'メソッドがあります。 –
フォントファミリー、カラーなどのCSS属性。アクティブな属性を取得するには、ブラウザでページをレンダリングする必要があると思います。 symfonyのクローラは、HTML属性を取得しているようです。 – icicleking