Попытка очистить определенный элемент с помощью Selenium, но безрезультатно - PullRequest
0 голосов
/ 18 декабря 2018

Я собрал некоторый код для входа на веб-сайт и перехода к конкретным страницам, с которых я хочу перейти.Эта часть отлично работает.Теперь, однако, я ищу определенный элемент с именем «tspan» и получаю сообщение об ошибке:

AttributeError: 'str' object has no attribute 'descendants'

Если я перехожу по URL-адресу, щелкните правой кнопкой мыши по элементу, который я хочуВозьмите и нажмите «Проверить элемент». Я вижу код за страницей, и он выглядит следующим образом.

enter image description here

Похоже на запрос 'gid 'тоже может работать.

enter image description here

Итак, я подумал, что смогу получить все элементы 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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...