2017-04-30 8 views
0

セレンは最近のバージョンのFirefoxとの互換性がなくなったので、geckodriverをインストールしました。私はMac上でSpyderを使用しています。前に、私はウェブサイトからデータをうまく削り取っていましたが、一度geckodriverに切り替えると、スクリプトを修正する必要がありました。Geckodriverエラー:「FirefoxWebElementにlen()がありません」

prov_count = len(browser.find_by_id("j_id48:j_id49:j_id108:cmbSecimCevresi").first.find_by_tag('option'))-1 

に:たとえば、

browser.find_by_id('closeMessageButton').click() 

browser.find_element_by_id('closeMessageButton').click() 

は、私は次のように変更になりました

prov_count = len(browser.find_element_by_id("j_id48:j_id49:j_id108:cmbSecimCevresi").find_element_by_tag_name('option'))-1 

が、私は次のエラーを取得:「TypeError例外を: 'FirefoxWebElement'タイプのオブジェクトにlen()がありません。

私は、次のウェブサイト上のリストの数を取得しようとしていますので、私は「*イルADI」の下のリストをループすることができますhttps://sonuc.ysk.gov.tr/module/sspsHalkoylamasiYeni.jsf

答えて

3

あなたは.find_elements_by_tag_name()をしたい...複数のバージョンが(気づきます「要素」の中の「s」)。あなたが使用している特異なバージョンは1つの要素だけを返し、長さはありません(len)。

+0

ありがとうございました。そして、私はどのようにコード "browser.select( 'j_id48:j_id49:j_id108:cmbSecimCevresi'、iller [j] .value)を変更できるか知っていますか?私は以前これを使用していましたが、今はgeckodriverでエラーが発生しています: 'WebDriver'オブジェクトに属性 'select'がありません – bayrah

+0

もっとコードを見なければなりません。コピー&ペーストなどで欠けていたテキストがない限り古いFFドライバではうまくいきませんでした。それを新しい質問に入れて見てみるか、他の人がそれに答えます。 – JeffC

+0

ありがとう、私はちょうど新しい質問として投稿しました。 – bayrah

関連する問題