【问题标题】:How would I use Selenium to select a drop-down menu我将如何使用 Selenium 选择下拉菜单
【发布时间】: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>

我正在尝试将&lt;li class="selected"&gt;trading&lt;/li&gt;更改为它下面的交易所类,以便不选择交易并选择交易所。

这是我目前所拥有的。它似乎不起作用。

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 来操作选择。

标签: python html css selenium


【解决方案1】:

对我有用的解决方案是 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()

上面的答案也有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-07-08
    • 1970-01-01
    • 2016-07-28
    • 2023-03-25
    • 1970-01-01
    • 2022-11-11
    • 2011-12-13
    相关资源
    最近更新 更多