我目前使用的硒与Python 2.7和我试图插入密码以下形式目前存在的标识:硒蟒蛇:如何发送键隐藏密码与
<tr id="mockpass">
<td>
<input type="text" value="something1" onfocus="document.getElementById('mockpass').style.display='none';
document.getElementById('realpass').style.display=''; document.getElementById('Irealpass').focus();">
</td>
</tr>
<tr id="realpass" style="display: none;">
<td>
<input type="password" name="Password" id="Irealpass" onblur="if(this.value=='') {document.getElementById('mockpass').style.display='';
document.getElementById('realpass').style.display='none';}">
</td>
</tr>
我试着使用下面的代码,但我保留收到一个错误,而试图EXCUTE清除命令:
passBoxXpath='//*[@id="mockpass"]/td/input'
passBoxElement = WebDriverWait(driver, 10).until(lambda driver: driver.find_element_by_xpath(passBoxXpath))
passBoxElement.click()
passElement = WebDriverWait(driver, 10).until(lambda driver: driver.find_element_by_xpath('//*[@name="Password"]'))
passElement = driver.execute_script("arguments[0].style.display = 'block'; return arguments[0];",
passElement)
passElement.clear()
passElement.send_keys("myPassword")
错误:
raise exception_class(message, screen, stacktrace)
InvalidElementStateException: Message: Element is not currently interactable and may not be manipulated
我不确定这是否与焦点或改变元素的模糊有关,但是我得到元素并且无法处理它。
在此先感谢!
更新:下一行解决了我的情况下(仍然不知道为什么它不工作):
driver.execute_script('document.getElementById("Irealpass").setAttribute("value","myPassword");')
这样,我也没必要使用passBoxElement在所有或改变显示风格。
上提供的线路,你得异常? – Andersson
on passElement.clear() – mk010