私は私たちの学生の出席者の入力を自動化するためにpythonセレンを使用しています。出席者のWebページの内容は表形式です。 「A」または「P」のマークが付いたテキストボックスがあります。次のようにソースコードは次のとおりです。Python Selenium - テキストボックスに値を入力
<form name="attendance1" action="/sjcet/attendance.php" method="POST">
<table style="width: 65%; margin: auto;">
<tr>
<th style="text-align: center;">Roll No.</th>
<th style="text-align: center;">PID</th>
<th style="text-align: center;">Student Name</th>
<th style="text-align: center;">Status</th>
<th style="text-align: center;">Any Comment</th>
</tr>
<tr style="text-align: center;">
<td style="text-align: center;"> <input name="roll_no[]" tabindex="0" size="3" type='text' value = '1' readonly='readonly' style="text-align: center;" /> </td>
<td style="text-align: center;"> <input name="pid[]" tabindex="0" size="10" type='text' value = 'EU1124021' readonly='readonly' style="text-align: center;" /> </td>
<td style="text-align: left;"> Abraham Ancy Chandy Anne</td>
<td style="text-align: center;">
<input size="3" name="status[]" type="text" onkeypress="return isNumberKey(event)" maxlength ="1" tabindex="1"
style="text-align: center;" value='A' />
</td>
<td style="text-align: center;">
<input size="20" name="comment[]" type="text" />
</td>
</tr>
<tr style="text-align: center;">
<td style="text-align: center;"> <input name="roll_no[]" tabindex="0" size="3" type='text' value = '2' readonly='readonly' style="text-align: center;" /> </td>
<td style="text-align: center;"> <input name="pid[]" tabindex="0" size="10" type='text' value = 'EU2134011' readonly='readonly' style="text-align: center;" /> </td>
<td style="text-align: left;"> Barabde Pranjal Sanjiv Sudha</td>
<td style="text-align: center;">
<input size="3" name="status[]" type="text" onkeypress="return isNumberKey(event)" maxlength ="1" tabindex="2"
style="text-align: center;" value='A' />
</td>
<td style="text-align: center;">
<input size="20" name="comment[]" type="text" />
</td>
</tr>
我々は次のように「P」または「A」が入力するテキストボックスのコード:デフォルトでは
<input size="3" name="status[]" type="text" onkeypress="return isNumberKey(event)" maxlength ="1" tabindex="1"
style="text-align: center;" value='A' />
...
...
...
<input size="3" name="status[]" type="text" onkeypress="return isNumberKey(event)" maxlength ="1" tabindex="2"
style="text-align: center;" value='A' />
値は「A」です、私は、Pythonのセレンを使用して 'P' 値を入力しようとした私が試したコードは次の通りであった:
driver.find_element_by_css_selector("input[tabindex='1']").send_keys('P')
Iも
driver.find_element_by_xpath("//input[@tabindex='1']").send_keys('P')
を試し
しかし、テキストを 'P'に変更していませんが、カーソルはそのテキストボックスに移動しています。何が問題なのでしょうか?それは 'onkeypress'イベントのためですか?親切に私はこれで私を助け、私はPythonのセレンに新しいです。次のように
isNumberKey(イベント)のコードは次のとおりです。すべての
function isNumberKey(evt)
{
var charCode = (evt.which) ? evt.which : event.keyCode
if(charCode != 8){
if(charCode != 112)
{
if(charCode != 80)
{
if(charCode != 97)
{
if(charCode != 65)
{
return false;
}
}
}
}
}
return true;
}
返事をありがとう。コードを実行しましたが、値 'P'がテキストボックスに入力されていません。テキストボックスは、キーボードから 'P'、 'A'、 'p'、および 'a'を受け入れるだけです。それをそうする方法はありますか? – Jeril
@ user2825570これが起こっているページへのリンクを共有していただけますか?ありがとう。 – alecxe
ありがとうございます。私はtinyupload [ドット] comを使用してhtmlファイルをアップロードしました。 [ここ](http://s000.tinyupload.com/download.php?file_id=07815236747065523698&t=0781523674706552369834900)からダウンロードできます。ファイル名はatt [dot] htmlです。実際のウェブサイトは、私たちの大学のLANを通じてのみアクセスできます。 – Jeril