style = display时无法输入文本:inline-block;与Webdriver Selenium

时间:2017-03-01 03:09:35

标签: python selenium selenium-webdriver

以下是网站上的HTML:

<td class="loginPassword">
<input name="_ctl0$MainContentPlaceHolder$oSession$oPwdID" type="password" maxlength="50" id="oPwdID" tabindex="2" class="signin login-input-rounded" autocomplete="off" data-i18n="[title]LoginPage.Password" title="Password" style="display: none;">
<input name="_ctl0$MainContentPlaceHolder$oSession$txtPlainPassword" type="text" id="txtPlainPassword" tabindex="2" class="graytext login-input-rounded" data-i18n="[value]LoginPage.Password" value="Password" style="display: inline-block;">
<input type="hidden" name="_ctl0$MainContentPlaceHolder$oSession$elqCustomerGUID" id="elqCustomerGUID"></td>

这是我的代码:

findPasswordField = driver.find_element_by_id("txtPlainPassword").click()

driver.execute_script("document.querySelector('#txtPlainPassword').style.display='block';")

driver.find_element_by_id("txtPlainPassword").send_keys("papsp")

单击密码元素,但未输入字符串“papsp”。

它会抛出以下错误消息:

selenium.common.exceptions.WebDriverException: Message: unknown error: cannot focus element

我尝试使用以下stackoverflow答案,这是a link

我不确定我做错了什么,我认为它应该有用。

如果有任何不清楚或需要更多信息,请告诉我。

1 个答案:

答案 0 :(得分:1)

你正试图处理错误的元素。尝试使用以下代码:

from selenium.webdriver.common.keys import Keys
driver.find_element_by_id('oUserID').send_keys('userName'+Keys.TAB)
driver.find_element_by_id('oPwdID').send_keys('papsp')