无法使用' OnKeyPress'输入框输入值。属性 - Selenium Python

时间:2018-03-06 03:24:45

标签: python selenium web-scraping

我希望我的代码在下面的框中输入值并转到下一页。我在Python中使用selenium来做到这一点。

enter image description here

这是元素的HTML。



<input name="ctl00$SPWebPartManager1$g_d6877ff2_42a8_4804_8802_6d49230dae8a$ctl00$txtPageNumber" type="text" value="260" maxlength="5" 
onchange="return ValidateNumber(this);setTimeout('__doPostBack(\'ctl00$SPWebPartManager1$g_d6877ff2_42a8_4804_8802_6d49230dae8a$ctl00$txtPageNumber\',\'\')', 0)" 
onkeypress="if (WebForm_TextBoxKeyHandler(event) == false) 
return false;javascript:return isNumber(event);" id="ctl00_SPWebPartManager1_g_d6877ff2_42a8_4804_8802_6d49230dae8a_ctl00_txtPageNumber" 
onpaste="return false;" style="width:60px;">
&#13;
&#13;
&#13;

这是我的代码。应该如何让这个表现出来?onkeypress&#39; ?功能:

for i in range (2,10307):  #looping over the page numbers
       wait.until(EC.presence_of_element_located((By.ID, "ctl00_SPWebPartManager1_g_d6877ff2_42a8_4804_8802_6d49230dae8a_ctl00_txtPageNumber"))).send_keys(i)

1 个答案:

答案 0 :(得分:1)

等待元素之后,因为你只需要onkeypress函数,所以尝试执行脚本。

driver.execute_script("if (WebForm_TextBoxKeyHandler(event) == false) return false;javascript:return isNumber(event);")