2016-06-21 47 views
0

我使用Python 3.5.1,我需要自動化,每天早上(通過Python)的一堆報告的下載。這些是從網絡平臺導入的,網絡平臺的訪問受限。我開始用下面這段代碼,它工作正常:如何選擇網頁下拉框中的選項?

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) 
相關問題