Selenium python Chrome-操作类未send_keys

时间:2018-12-13 20:53:59

标签: python-3.x selenium-webdriver selenium-chromedriver

存在一个受密码保护的政府页面;我的代码很好地记录了我。然后,我尝试使用以下代码填充以下输入:

<td ><script type='text/javascript'>$('.inputs').keydown(function (e) {if (e.keyCode == 39) 
{$(this).parent('td').next().find('.inputs').focus();}else if(event.keyCode == 13)
 {event.preventDefault();$(this).parent('td').next().find('.inputs').focus();return false;}
else if (e.keyCode == 37){$(this).parent('td').prev().find('.inputs').focus();}});</script>
<input type="Text" ID="95413" Name="WellName_95413" value="" class="bind_WellName inputs"
onkeyup="changeValue(event)" onchange="changeValue(event)"  
style="width:100%;margin: 0px 2px 0px 2px; height: 25px;" ></td>

代码:

driver = webdriver.Chrome('C:/Users/km/Documents/chromedriver245/chromedriver.exe')
well_name = driver.find_element_by_id('95413')
actions = webdriver.ActionChains(driver)
actions.move_to_element(well_name)
actions.click()
actions.send_keys('test well name')
actions.perform()

什么也没发生-该字段没有填充文本,控制台上也没有显示错误,只是说:

C:\Python37>python.exe eForm_dev.py

DevTools listening on ws://127.0.0.1:56091/devtools/browser/771d733c-e1a1-4bbc-b43b-ac8a4f39a122

C:\Python37>

我尝试了其他同样无效的方法:

  • well_name.send_keys()本身
  • well_name.click()然后well_name.send_keys()
  • well_name.send_keys(Keys.ENTER)然后well_name.send_keys()

1 个答案:

答案 0 :(得分:0)

我偶然发现了

time.sleep(3)

之前

actions = webdriver.ActionChains(driver)
etc.

它有效。为什么?