Я собрал некоторый код для входа на веб-сайт и перехода к конкретным страницам, с которых я хочу перейти.Эта часть отлично работает.Теперь, однако, я ищу определенный элемент с именем «tspan» и получаю сообщение об ошибке:
AttributeError: 'str' object has no attribute 'descendants'
Если я перехожу по URL-адресу, щелкните правой кнопкой мыши по элементу, который я хочуВозьмите и нажмите «Проверить элемент». Я вижу код за страницей, и он выглядит следующим образом.
![enter image description here](https://i.stack.imgur.com/Fygka.png)
Похоже на запрос 'gid 'тоже может работать.
![enter image description here](https://i.stack.imgur.com/q5r5q.png)
Итак, я подумал, что смогу получить все элементы tspan, загрузить все в список и записать списокв текстовый файл.Тем не менее, я не получаю элементы 'tspan' вообще.Если я щелкну правой кнопкой мыши на странице и нажму «Просмотр исходного кода страницы», я не вижу элементов «tspan».Это очень странно!Код за страницей определенно отличается от кода, отображаемого на самой странице.Вот мой кодЧто я здесь не так делаю?
from bs4 import BeautifulSoup as bs
import webbrowser
import requests
from lxml import html
from selenium import webdriver
profile = webdriver.FirefoxProfile()
profile.accept_untrusted_certs = True
import time
# selenium
wd = webdriver.Firefox(executable_path="C:/Utility/geckodriver.exe", firefox_profile=profile)
url = "https://corp-internal.com/admin/?page=0"
wd.get(url)
# set username
time.sleep(2)
username = wd.find_element_by_id("identifierId")
username.send_keys("my_email@email.com")
wd.find_element_by_id("identifierNext").click()
# set password
time.sleep(2)
password = wd.find_element_by_name("password")
password.send_keys("my_pswd")
wd.find_element_by_id("passwordNext").click()
all_text = []
# list of URLs
url_list = ['https://corp-internal.com/admin/graph?dag_id=emm1_daily_legacy',
'https://corp-internal.com/admin/graph?dag_id=eemm1_daily_legacy_history']
for link in url_list:
#File = webbrowser.open(link)
#File = requests.get(link)
#data = File.text
for link in bs.findAll('tspan'):
alldata = all_text.append(link.get('tspan'))
outF = open('C:/Users/ryans/OneDrive/Desktop/test.txt', 'w')
outF.writelines(alldata)
outF.close()