Я новичок в Python и пытается восстановить данные в пределах this Site с версией Python 3.6.0Зачистки из выпадающего меню с Python
Есть 2 выпадающие и вторые данные зависят от отбора первого х.
Первое: 'Organizasyon Adi' Второй: 'UEVCB Adi'
Все варианты от источника, как:
<option value="0" selected="selected">TÜMÜ</option> #this is default value when we open the page
<option value="10374">1461 TRABZON ELEKTRİK ÜRETİM A.Ş</option>
<option value="9426">2M ELEKTRİK ÜRETİM SANAYİ VE TİCARET ANONİM ŞİRKETİ</option>
Эти варианты елей раскрывающийся и есть почти 800 вариантов.
Мы не можем увидеть другие варианты выпадающих списков, не просматривая страницу, если не щелкнуло второе окно выпадающего списка. (Оба выпадающих меню открывают поисковый запрос при нажатии.)
Вторая раскрывающаяся папка открывает список единиц для выбранной организации.
Когда выбраны опции из двух выпадающих списков, он генерирует данные таблицы, и мы пытаемся получить данные для всех единиц.
Я не мог заставить его отказаться от данных для всех устройств с одной программой, поэтому я решил их отремонтировать отдельно.
С помощью этого кода:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.select import Select
from selenium.webdriver.common.action_chains import ActionChains
import time
from bs4 import BeautifulSoup
import pandas as pd
url = 'https://seffaflik.epias.com.tr/transparency/uretim/planlama/kgup.xhtml' #
driver = webdriver.Chrome()
driver.get(url)
time.sleep(3)
organisation = driver.find_element_by_xpath(".//*[@id='j_idt102:distributionId_label']")
organisation.click()
dropdown1 = driver.find_element_by_xpath(".//*[@id='j_idt102:distributionId_filter']")
dropdown1.send_keys('1461')
dropdown1.send_keys(u'\ue007')
unit = driver.find_element_by_id('j_idt102:uevcb_label')
dropdown2 = driver.find_element_by_xpath(".//*[@id='j_idt102:uevcb_filter']")
dropdown2.send_keys('SAMA')
dropdown2.send_keys(u'\ue007')
apply= driver.find_element_by_xpath("//*[@id='j_idt102:goster']")
apply.click()
time.sleep(5)
soup = BeautifulSoup(driver.page_source)
table = soup.find_all('table')[0]
rows = table.find_all('tr')[1:]
data = {
'01.Date' : [],
'02.Hour' : [],
'03.NaturalGas' : [],
'04.Wind' : [],
'05.Lignite' : [],
'06.Hard_Coal' : [],
'07.ImportedCoal' : [],
'08.Geothermal' : [],
'09.Hydro_Dam' : [],
'10.Naphta' : [],
'11.Biomass' : [],
'12.River' : [],
'13.Other' : []
}
for row in rows:
cols = row.find_all('td')
data['01.Date'].append(cols[0].get_text())
data['02.Hour'].append(cols[1].get_text())
data['03.NaturalGas'].append(cols[3].get_text())
data['04.Wind'].append(cols[4].get_text())
data['05.Lignite'].append(cols[5].get_text())
data['06.Hard_Coal'].append(cols[6].get_text())
data['07.ImportedCoal'].append(cols[7].get_text())
data['08.Geothermal'].append(cols[8].get_text())
data['09.Hydro_Dam'].append(cols[9].get_text())
data['10.Naphta'].append(cols[10].get_text())
data['11.Biomass'].append(cols[11].get_text())
data['12.River'].append(cols[12].get_text())
data['13.Other'].append(cols[13].get_text())
df = pd.DataFrame(data)
writer = pd.ExcelWriter('//192.168.0.102/Data/kgup.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1')
writer.save()
time.sleep(5)
driver.close()
По этому коду можно выбрать из выпадающего списка первой помощи функции поиска и введите ключ.
Когда дело доходит до второго, он генерирует ImportError: sys.meta_path is None, Python is likely shutting down
Как мне справиться с этим?
Спасибо.
Это именно так; Большое спасибо. –