我使用的是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 Ontario 002</OPTION>
<OPTION value=3004 dv="3004 Fresno, CA 004">3004 Fresno, CA 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)
我认为它们不起作用,因为您尝试使用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)