簡體   English   中英

如何在網絡下拉框中選擇選項?

[英]How to choose option on a web drop down box?

我正在使用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

我假設它們不起作用,因為您正嘗試使用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) 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM