Как создать скрипт, который выполняет автоматический вход, заполняет данные в таблице и сохраняет их? - PullRequest
0 голосов
/ 14 июля 2020

У меня есть страница входа 1 , на которую я хочу создать автоматический вход. Вот что я имею в виду:

  1. используйте requests.get, чтобы получить содержимое страницы входа
  2. выяснить, какой элемент отвечает за вход
  3. используйте requests.post с формой с этим элементом и моим паролем
  4. каким-то образом нажмите кнопку входа
  5. получите следующую страницу и сделайте то же самое

(1) прошло нормально, но я застрял на (2). Я пробовал использовать F12 и проверять веб-страницу, даже используя специальный c инспектор элементов, но я не понимаю, что делать отсюда ... введите описание изображения здесь

  • Доступен ли элемент, через который я должен войти в систему, и мне его просто не хватает, или это что-то скрытое?
  • Следует ли мне использовать JS / какой-нибудь другой, более веб-ориентированный язык для этого?

Моя работа на данный момент:

import requests
print('\n'.join(requests.get('https://semantic-ui.com/examples/login.html').content.decode().splitlines()))

Это печатает контент, и это интересная часть, я думаю:

      <script>     
  $(document)
    .ready(function() {
      $('.ui.form')
        .form({
          fields: {
            email: {
              identifier  : 'email',
              rules: [
                {
                  type   : 'empty',
                  prompt : 'Please enter your e-mail'
                },    
                {                    
                  type   : 'email',                   
                  prompt : 'Please enter a valid e-mail'
                }             
              ]
            },
            password: {         
              identifier  : 'password',
              rules: [     
                {                         
                  type   : 'empty',  
                  prompt : 'Please enter your password'                  
                },
                {
                  type   : 'length[6]',
                  prompt : 'Your password must be at least 6 characters'
                }                    
              ]                                                           
            }   
          }   
        })                                                        
      ;     
    })
  ;                                       
  </script>

хотя я действительно не уверен, что делать дальше.

1 Это пример страницы входа в систему, моя - это скорее вход в базу данных, чтобы в который я хочу войти, и изменить запись

1 Ответ

1 голос
/ 14 июля 2020

Вы смешиваете разные вещи

  1. Если вы хотите заполнить форму с помощью запросов, вам понадобится
    1. Имя обоих входов в вашем случае: «электронная почта» и « password '
    2. URL-адрес, на который нужно отправить форму, который является атрибутом действия формы, и если он отсутствует, это означает, что он присутствует в любом теге скрипта или файле

После этого вам нужно сделать почтовый запрос на этот URL с телом запроса, содержащим «адрес электронной почты» и «пароль»

Если вы хотите связать сложные задачи, такие как вход в систему, а затем просмотр или что-то, связанное с взаимодействием с браузером, вам нужно использовать библиотеку селена python, которая используется в автоматизации браузера

И это интересно все, что вы упомянули, - это правила проверки формы, а не то, что вы ищете

...