Я бы предложил использовать селен, чтобы заполнить информацию для вас. Я никогда не доверял поиску по классу, если это не было действительно необходимо. Я полагаю, что они, вероятно, изменятся и не расскажут вам много о структуре. Но поскольку страница довольно проста, поиск по имени тега, кажется, делает свое дело.
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://mollybet.com/beta/login')
# Locate input and password fields
fields = driver.find_elements_by_tag_name('input')
fields[1].send_keys('USERNAME')
fields[2].send_keys('PASSWORD')
# Click the submit button
driver.find_element_by_tag_name('button').click()
Здесь вы можете использовать selenuim или BeautifulSoup для анализа содержимого страницы в будущем.
Проблема, с которой вы столкнулись, заключалась в том, что вы пытались найти два класса одновременно. Вам нужно изменить селектор на
driver.find_element_by_class_name('jss91.jss76')
Но убедитесь, что вы обращаете внимание на элементы, потому что оба поля имени пользователя и пароля имеют одинаковые два класса.
for field in fields:
print(field.get_attribute('class'))
# jss91 jss76
# jss91 jss76 jss94 jss79
Для этого это с запросами, я следил за трафиком c, как я отправил запрос на сайт. Похоже, что форма подчиняется https://mollybet.com/s/weblogin/
. Отправленный груз был {'username': "user", 'password': "pass", 'lang': "en"}
. Теоретически, следующее должно работать, но я получаю 400 ошибок. Я также попытался добавить заголовки из исходного запроса. Если учетные данные были неправильными, это должна быть ошибка 401, но, возможно, она будет работать с вашим логином.
headers = {
'Host': 'mollybet.com',
'Connection': 'keep-alive',
'Content-Length': '49',
'Origin': 'https://mollybet.com',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36', # noqa
'content-type': 'application/json',
'Accept': '*/*',
'Sec-Fetch-Site': 'same-origin',
'Sec-Fetch-Mode': 'cors',
'Referer': 'https://mollybet.com/beta/login',
'Accept-Encoding': 'gzip, deflate, br',
'Accept-Language': 'en-US,en;q=0.9',
}
response = requests.post(
'https://mollybet.com/s/weblogin/',
data={'username': "user", 'password': "pass", 'lang': "en"},
headers=headers,
verify=False)