python+selenium 编写脚本时发现登录窗口的密码输入框display:none,导致报错

编写应用自动化脚本时报错selenium.common.exceptions.ElementNotInteractableException: Message: Element <input id="showPwd" class="userinput" name="Password1" type="text"> is not reachable by keyboard,上网查,发现时display:none的问题?如果是的话,怎么修改?在网上搜了半天了,还是不行,改不过来,请大神多多指导,感谢!

图片描述

from selenium import webdriver

import time

driver = webdriver.Firefox()

driver.get('http://10.2.1.151:8080/AVICIT_SVN_CEC')

time.sleep(1)

driver.find_element_by_xpath('//*[@id="username_"]').send_keys('admin')#用户名

driver.find_element_by_xpath('//*[@id="showPwd"]').send_keys('cape')#密码

driver.find_element_by_xpath('/html/body/div[2]/div/div[2]/form/input[6]').click()

time.sleep(1)

driver.find_element_by_xpath('/html/body/div[1]/div/div[2]/div[3]/ul/li[9]/a').click()#点击库房管理

driver.find_element_by_xpath('/html/body/div[1]/div/div[2]/div[3]/ul/li[9]/div/ul/table/tbody/tr/td/table/tbody/tr[1]/td/li/a/span[2]').click()#库房信息管理

回答:

已经解决了,首先找到display:none那段html,然后元素定位,使用JS方式将style=display:none改成除none以外的其他方式,如block,inline即可进行操作,代码如下:
js="document.getElementById('password').style.display='block';"
driver.execute_script(js)

回答:

你这报错信息是,selenium在操作浏览器的时候,无法控制键盘输入问题
建议 selenium 运行时不要操作键盘...
我遇见过一次 就这么解决的,并且只在Firefox上遇见过= =...
可以的话建议更换chrome,我用chrome时没遇到这个报错信息
最后: Chrome 大法好!!!!!!!!!!!!!!
--或者试试PhantomJS-- 2333333333333

以上是 python+selenium 编写脚本时发现登录窗口的密码输入框display:none,导致报错 的全部内容, 来源链接: utcz.com/a/164308.html

回到顶部