2016-07-03 27 views
1

私はPythonとSeleniumを使用してウェブサイトを操作しようとしていますが、解決方法がわからないという問題がありますそれも可能です!)SeleniumとPythonを使用してDOMの属性値を変更するには

<select id="uniqueid" autocomplete="off" value="10"> 
    <option selected="selected" value="10">10</option> 
    <option value="30">30</option> 
    <option value="50">50</option> 
    <option value="100">100</option> 
</select> 

上記のHTMLコードは、私はこすりしようとしているデータのテーブルの行数を表示するためにサイト上で使用されています。テーブルの合計サイズはわずか300行を超えています。

Seleniumを使用してオプションを選択するのに問題はありませんでしたが、DOMを操作して最後の値を100から350に変更してスクリプトがそのオプションを選択すると、私を使わずにページネーションを反復する必要はありません。

私はexecute_scriptを使用できると読んだことがありますが、オプションの値を変更する方法はわかりません。例:

WebDriver.execute_script("document.getElementById('uniqueid') --what text goes here-- = '350') 

助けがあれば助かります。

答えて

4

あなたはこれを試すことができますが、値のために何かを送信してもサイトが正常ではないかもしれないことを理解しています。値が100などに制限されている可能性があります。

Javascriptの部分では、渡された要素を受け取り、値を渡します。 "300"。

select = driver.find_element_by_id("uniqueid") 
WebDriver.execute_script("arguments[0].value = arguments[1]", select, "300") 
+0

ありがとう!出来た。 – Matt

+0

私のために働かなかった –

0
dimension = image.size['width'] * image.size['height'] 
driver.execute_script('arguments[0].setAttribute("dimension","{}");'.format(dimension), image) 
+0

答えのコードスニペットを単に投稿しないでください。なぜこれが質問に答えるのか、それがどのように問題を解決するのかを説明してください。 –

関連する問題