2011-12-15 8 views

答えて

2

あなたはそれをつかむために別のプログラムを使用しなければならないSeleniumとfaviconを得ることができません。あなたのウェブサイトは、そのような

<link rel="shortcut icon" 
href="http://example.com/myicon.ico" /> 

としてリンクとしてのfavicon.icoをレンダリングした場合、通常のウェブサイトは、単にブラウザルートディレクトリに、ページ要求にfavicon.icoをを保存しかし、あなたはそれを得ることができるだろう唯一の方法ですアドレスバーまたはタブ、またはファビコンが使用されている場所にドロップします。これがあなたのfaviconのレンダリング方法であれば、コードやSeleniumで検索するものはありません。

また、上記のコードは動作していますが、IE7にはバグのあるサポートがあります。ここで

0

セレンは必要ありません。

サイトのホームページをリクエストし、HTMLパーサーを使用して<link rel="shortcut icon" href="...">タグを見つけます。

このようなタグが見つからない場合は、/favicon.icoを試してください。

+3

彼はおそらくファビコンが正しいものではなく、一般的なものであることを確認するためにテスト目的のためにそれを取得する方法を疑問に思っています。 – CBRRacer

1

は少しクレイジーですが、解決策の作業:

針で結果のファビコンを比較することのためのツールです。セレンと鼻であなたのCSSをテストする。

ウェブサイトの部分 のスクリーンショットを撮り、既知の良いスクリーンショットと比較することで、CSSが正しくレンダリングされることを確認します。 には、計算されたCSS値とHTML要素の位置 をテストするツールも用意されています。

つまり、私たちはfavicon画像を比較します。

実装例(パイソン):

from needle.cases import NeedleTestCase 

class FavIconTestCase(NeedleTestCase): 
    def test_so(self): 
     self.driver.get('http://www.google.com/s2/favicons?domain=www.stackoverflow.com') 
     self.assertScreenshot('img', 'so-favicon') 
関連する問題