Разделение очищенного результата активной веб-страницы в массиве с помощью python - PullRequest
1 голос
/ 23 февраля 2020

Я пытаюсь очистить данные о запасах, но хотя я использую «поиск элементов по идентификатору», в результате получается один текст. я пробовал различные методы, такие как поиск элементов по xpath и т. д. c .., и я попытался создать массив, содержащий все идентификаторы, найдя «атрибут« target »», чтобы я мог через него oop, но я не был не удалось, поэтому мне пришлось кодировать каждый идентификатор.

import json

from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait


url = 'http://www.tsetmc.com/Loader.aspx?ParTree=15131F'
delay = 100

driver = webdriver.Chrome()
driver.get(url)
WebDriverWait(driver, delay)

zapna = driver.find_elements_by_id(id_='43479730079120887')
renik = driver.find_elements_by_id(id_='33854964748757477')
retko = driver.find_elements_by_id(id_='3823243780502959')
rampna = driver.find_elements_by_id(id_='67126881188552864')
mafakher = driver.find_elements_by_id(id_='4247709727327181')

for ii in retko:
    print(ii.text , "\n")

driver.close()

, и результат:

رتكوكنترل‌خوردگي‌تكين‌كو2,1512.531M63.044 B25,14523,88824,900-245-0.9724,907-238-0.9523,88825,699-749-33.2512,55324,90024,9035,4601

что я ожидаю:

رتكو
كنترل‌خوردگي‌تكين‌كو
2,151
2.531M
63.044 B
25,145
23,888
24,900
-245
-0.97
24,907
-238
-0.95
23,888
25,699
-749
-33.25
1
2,553
24,900
24,903
5,460
1

любая идея

1 Ответ

0 голосов
/ 24 февраля 2020

Вам просто нужно go на один уровень глубже (используя, например, xpath) и выполнить итерации по дочерним элементам:

for ii in retko:
    targets = ii.find_elements_by_xpath('.//*')
    for target in targets:
        print(target.text)

Вывод:

رتكو
رتكو
كنترل‌خوردگي‌تكين‌كو
كنترل‌خوردگي‌تكين‌كو
3,149
3.235M
3.235M

et c.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...