#python #html #python-requests
#python #HTML #python-запросы
Вопрос:
У меня есть простая HTML-форма, подобная этой
<!DOCTYPE html>
<html>
<body>
<form action="/Login/Authenticate" id="Loginform" method="post">
<label for="fname">User name:</label><br>
<input class="Txt_bx password" data-val="true" data-val-required="Enter Password" id="txtPassword" name="Log.password" type="text"><br>
<label for="lname">Password :</label><br>
<input class="Txt_bx urserName" data-val="true" data-val-required="Enter Username" id="txtusername" name="Log.username" type="password" value="">
</form>
</body>
</html>
Я хочу вставить некоторый текст в класс ввода Txt_bx password
и Txt_bx username
без использования selenium, поскольку это слишком медленно. Есть ли какой-либо другой способ, которым я могу это сделать?
Любая помощь будет оценена!
Комментарии:
1. дорогой @Heisenberg почему не использовал jquery или js? и это для тестирования? извините за мой язык, потому что английский не является моим основным языком
2. @sachinkumaraliyanage потому что я не знаю jquery и js. Я хотел взломать простую HTML-форму с помощью Python, вот почему я изучаю, как это сделать, но я не мог найти, как это сделать.
Ответ №1:
Вы могли бы использовать библиотеку запросов для Python, и эта страница должна помочь вам ознакомиться с POST
(как видно по method
тегу на форме) запросами в библиотеке. Вам нужно будет опубликовать в /Login/Authenticate
, так как это action
часть формы.
В вашем HTML-коде log.Password
и log.Username
будут ключи словаря, а значения будут любыми значениями, которые вы хотите. Например:
data = {
"log.Username": "mynewusername",
"log.Password": "mynewpassword"
}
Комментарии:
1. Спасибо! Я попробую это. Кроме того, извините, что задал такой простой вопрос с возможностью поиска, я плохо гуглю.
2. вы уверены, что OP не означает ввод текста В поля ввода?
3. @TochiBedford Я не знаю, что делает код, поскольку, похоже, я не могу запустить это должным образом, но я действительно хочу получить текст в поля ввода и отправить его.
Ответ №2:
Попробуйте использовать запросы
import requests
response = requests.post(
'http://url.com/Login/Authenticate',
data={
"Log.password": "password",
"Log.username": "username"
}
)
print(response.content) #get the response from whatever server
Не забудьте заменить url.com с фактическим доменом