我如何使用Selenium选择下拉菜单

时间:2014-01-04 23:00:41

标签: python html css selenium

我正在尝试使用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()

1 个答案:

答案 0 :(得分:0)

对我有用的解决方案是send_keys。像这样: -

driver.find_element_by_xpath('/html/body/div[4]/div/div[2]/div/div[3]/section/div/div/form/div[2]/div/div/a').send_keys('exchange')
        driver.find_element_by_xpath('/html/body/div[4]/div/div[2]/div/div[3]/section/div/div/form/div[2]/div/div/a').send_keys(Keys.ENTER)

此外,下拉菜单必须在可以处理之前可见。我用过: -

driver.find_element_by_css_selector("a.selector").click()

上面的答案也有效。