2016-06-21 1 views
0

私はPython 3.5.1を使用しています。毎朝(Pythonを通して)一連のレポートのダウンロードを自動化する必要があります。これらはアクセスが制限されているWebプラットフォームからインポートされます。ウェブドロップダウンボックスでオプションを選択する方法は?

import webbrowser, time 
webbrowser.open('mylink') 
time.sleep(10) 

しかし、私は私が選択した場所を提出する必要があり、そこからドロップダウンボックス、と今苦労している:私は正常に動作します次のコード、始まりました。ここではHTMLは、問題を解決する必要があります:

<SELECT id=PRMT_SV_N000000000C88F800x000000000E8040B8_NS_ class="clsSelectControl pv" aria-invalid=false style="WIDTH: auto" hasLabel="true"> 
    <OPTION selected>MDM Location Code</OPTION> 
    <OPTION>--------------------------------------------</OPTION> 
    <OPTION value=3002 dv="3002 Ontario 002">3002&nbsp;&nbsp;Ontario&nbsp;&nbsp;002</OPTION> 
    <OPTION value=3004 dv="3004 Fresno, CA 004">3004&nbsp;&nbsp;Fresno,&nbsp;CA&nbsp;&nbsp;004</OPTION> 
    <OPTION value=3005 dv="3005 San Diego 

完了/送信ボタンのHTML:私はもちろんのオプションのほとんどを省略している

<BUTTON onclick="oCV_NS_.promptAction('finish')" onmouseover="this.className = 'bp bph'" onmouseout="this.className = 'bp'" id=finishN000000000C88F800x000000000E804A58_NS_ class=bp name=finishN000000000C88F800x000000000E804A58_NS_>Finish</BUTTON> 

。この演習では、最初のものを選択したいと想像してください。3004 Fresno, CA 004

+0

あなたは拡張モジュールなしでブラウザを自動化することはできません。あなたがそれらを検索する場合は、いくつかあります。 –

+0

@PeterWood、今、セレンを使用しようとしています。セレンモジュールでこの問題を解決する方法を知っていますか? –

+0

あなたは[ここ](https://stackoverflow.com/questions/7867537/selenium-python-drop-down-menu-option-value/28613320)の方法を試してみましたが、どのように動作しませんでしたか? –

答えて

0

select_by_value()またはselect_by_visible_text()を使用して間違ったテキストまたは値を選択しようとしているため、機能しないと思われます。索引で選択してみてください。

select html要素にはidを囲む引用符がないことも奇妙です。セレンがfind_element_by_idを使って見つけることができない可能性があります。

これを試してみてください:

from selenium import webdriver 
from selenium.webdriver.support.ui import Select 

... 

webbrowser.open('mylink') 

dropdown = driver.find_element_by_id("PRMT_SV_N000000000C88F800x000000000E8040B8_NS_")  
select = Select(dropdown)  
select.select_by_index(3) 
関連する問題