У объекта 'str' нет атрибута 'text' в BeautifulSoup4 - PullRequest
0 голосов
/ 08 апреля 2020

Я пытаюсь зайти на сайт, используя python Запрос на автоматизацию. И я получаю сообщение об ошибке 'str' object has no attribute 'text'

Мой код

from BeautifulSoup import BeautifulSoup



logging.basicConfig(filename='app.log',level=logging.INFO)
headers = {
    'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'
}
def post_request_curl(data):
    try:   
           with requests.Session() as s:
              login_data=data['login_details']
              r = s.get(url=data['url'], headers=headers)
              soup = BeautifulSoup(r.content, 'html.parser')
              login_data['form_build_id'] = soup.find_all('input', attrs={'name': 'form_build_id'})['value']
              r = s.post(url=data['url'], data=login_data, headers=headers)

              return r  
    except Exception as e:
        logging.error('Error occurred ' + str(e))

1 Ответ

1 голос
/ 08 апреля 2020

Попробуйте:

from bs4 import BeautifulSoup
import requests

logging.basicConfig(filename='app.log',level=logging.INFO)
headers = {
    'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'
}
def post_request_curl(data):
    try:   
           with requests.Session() as s:
              login_data=data['login_details']
              r = s.get(url=data['url'], headers=headers)
              soup = BeautifulSoup(r.content, 'html.parser')
              login_data['form_build_id'] = soup.find_all('input', attrs={'name': 'form_build_id'})['value']
              r = s.post(url=data['url'], data=login_data, headers=headers)

              return r  
    except Exception as e:
        logging.error('Error occurred ' + str(e))
...