鍍金池/ 問(wèn)答/Python  HTML/ python+selenium 編寫(xiě)腳本時(shí)發(fā)現(xiàn)登錄窗口的密碼輸入框display

python+selenium 編寫(xiě)腳本時(shí)發(fā)現(xiàn)登錄窗口的密碼輸入框display:none,導(dǎo)致報(bào)錯(cuò)

編寫(xiě)應(yīng)用自動(dòng)化腳本時(shí)報(bào)錯(cuò)selenium.common.exceptions.ElementNotInteractableException: Message: Element <input id="showPwd" class="userinput" name="Password1" type="text"> is not reachable by keyboard,上網(wǎng)查,發(fā)現(xiàn)時(shí)display:none的問(wèn)題?如果是的話,怎么修改?在網(wǎng)上搜了半天了,還是不行,改不過(guò)來(lái),請(qǐng)大神多多指導(dǎo),感謝!

圖片描述

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()#點(diǎn)擊庫(kù)房管理
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()#庫(kù)房信息管理

回答
編輯回答
憶往昔

你這報(bào)錯(cuò)信息是,selenium在操作瀏覽器的時(shí)候,無(wú)法控制鍵盤(pán)輸入問(wèn)題
建議 selenium 運(yùn)行時(shí)不要操作鍵盤(pán)...
我遇見(jiàn)過(guò)一次 就這么解決的,并且只在Firefox上遇見(jiàn)過(guò)= =...
可以的話建議更換chrome,我用chrome時(shí)沒(méi)遇到這個(gè)報(bào)錯(cuò)信息
最后: Chrome 大法好!!!!!!!!!!!!!!
--或者試試PhantomJS-- 2333333333333

2017年11月12日 00:21
編輯回答
女流氓

已經(jīng)解決了,首先找到display:none那段html,然后元素定位,使用JS方式將style=display:none改成除none以外的其他方式,如block,inline即可進(jìn)行操作,代碼如下:
js="document.getElementById('password').style.display='block';"
driver.execute_script(js)

2018年4月22日 09:37