【发布时间】:2018-05-21 13:58:03
【问题描述】:
当我第一次点击按钮(带有下拉列表)时,它显示:
<select name="loginfield" style="float: left; display: none;" width="45" id="loginfield_LbS4K" change="changetip($('loginfield_LbS4K').value)" selecti="0">
我需要获取第二个值并自动单击它。当我选择第二个下拉列表时 它显示:
<select name="loginfield" style="float: left; display: none;" width="45" id="loginfield_LbS4K" change="changetip($('loginfield_LbS4K').value)" selecti="1">
我使用 python3.6 + selenium,但我仍然没有得到“第二个”vaule' foucs(用户名)。它仍然停留在第一个 foucs(昵称)
el = driver.find_element_by_name('loginfield')
for option in el.find_elements_by_name('option'):
print (option)
if option.value == 'username':
option.click()
break
请看看我哪里错了,谢谢。
html代码:
</style>
<div class="rfm">
<div id="username_" class="ui-tooltip ui-widget ui-widget-content" style="margin: -47px 0 0 130px; display: none;">
<div id="tip_c">login</div>
<div class="arrow"></div>
</div>
<table>
<tr>
<th>
<span class="login_slct">
<select name="loginfield" style="float: left;" width="45" id="loginfield_LG388" change="changetip($('loginfield_LG388').value)">
<option value="nickname">account</option>
<option value="username">nickname</option>
<option value="mobile">phone</option>
<option value="email">Email</option>
</select>
</span>
</th>
<td><input type="text" name="username" id="username_LG388" autocomplete="off" size="30" class="px p_fre" tabindex="1" value="" onmouseover="display('username_')" onmouseout="display('username_')" placeholder="login"/></td>
<td class="tipcol"><a href="member.php?mod=register">register</a></td>
</tr>
</table>
<script type="text/javascript">
function changetip(v) {
if(v == 'nickname') {
$('tip_c').innerHTML = 'login';
}else if(v == 'mobile') {
$('tip_c').innerHTML = 'phone';
}else if(v == 'username') {
$('tip_c').innerHTML = 'nickname';
}else if(v == 'email') {
$('tip_c').innerHTML = 'email';
}
}
</script>
【问题讨论】:
-
好像你给的HTML代码错误,因为样式
display:none表示用户无法从页面看到它,所以用户如何操作它。请给出下拉列表的完整 HTML 代码,