【发布时间】:2014-01-22 13:10:29
【问题描述】:
我正在尝试使用 selenium 在 python 中选择一个下拉菜单。这是相关网站的 HTML。
<select data-id="1388874259461-k9k0y" name="walletselectedbitcoin" id="selectWallet" class="medium hidden-field">
<option value="trading">trading</option>
<option value="deposit">deposit</option>
<option value="exchange">exchange</option>
</select>
<div data-id="1388874259461-k9k0y" class="custom dropdown medium">
<a href="#" class="current">trading</a>
<a href="#" class="selector"></a>
<ul>
<li class="selected">trading</li>
<li class="">deposit</li>
<li class="">exchange</li>
</ul>
</div>
<label for="orderType">Select Wallet</label>
我正在尝试将<li class="selected">trading</li>更改为它下面的交易所类,以便不选择交易并选择交易所。
这是我目前所拥有的。它似乎不起作用。
two = driver.find_element_by_xpath('/html/body/div[4]/div/div[2]/div/div[3]/section/div/div/form/div[2]/div')
for option in two.find_elements_by_tag_name('option'):
if option.text == 'exchange':
option.click()
【问题讨论】:
-
为什么不起作用?你能解释一下实际的错误吗?你在
two中得到了你期望的元素吗?选项列表是否为空,以便 for 循环永远不会执行?您确定满足if条件吗? -
它没有选择交换选项。它停留在交易中,并且程序在不选择下拉菜单的情况下关闭。有没有办法使用 send_keys 来改变 'selected' 的写法?
-
所以您确认
option.click()实际执行并且没有任何反应?感谢您的澄清。另外,网站是什么? -
它执行并且没有任何反应。该网站是bitfinex.com/account/withdraw。您必须登录并单击退出。我想将下拉菜单从交易更改为交易所。
-
我只在 java 中使用过 selenium,但似乎在 python 中你也需要Action chains 来操作选择。