我正在尝试使用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()
答案 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()
上面的答案也有效。