将变量从一个 python 脚本导入另一个脚本不起作用

时间:2021-04-15 20:22:01

标签: python selenium selenium-webdriver

我正在制作一个从网站获取信息然后对其进行操作的程序。当我启动 main.py 程序时,librus.py 脚本启动,然后程序关闭并且不打印 Librus.imiona3。在文件 librus.py 的末尾我写 print(imiona3) 一切正常。我该怎么办?

Librus.py 文件:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time
import os
timeyear, month, day, hour, min = map(int, time.strftime("%Y %m %d %H %M").split())
imiona0 = []
imiona1 = []
imiona2 = []
imiona3 = []
wiadomosci0 = []
wiadomosci1 = []
wiadomosci2 = []
wiadomosci3 = []
linki0 = []
dzien0 = []
dzien1 = []
dzien2 = []
dzien3 = []
sort2 = 0
sort3 = 0
username = "8425083u"
password = "Password"
url = "https://portal.librus.pl/rodzina/synergia/loguj"
url2 = "https://synergia.librus.pl/wiadomosci"
url3 = "https://synergia.librus.pl"
options = Options()
options.add_argument('--no-sandbox') # Bypass OS security model
#otwieranko stronki
driver = webdriver.Chrome(chrome_options=options, executable_path=r'chromedriver.exe')
driver.get(url)
driver.maximize_window()
time.sleep(1.5)
#Pomijanie tego z stroną główną Pogg
Zaloguj = driver.find_element_by_xpath("//*[@class='btn btn-third btn-synergia-top btn-navbar dropdown-toggle']")
Zaloguj.click()
time.sleep(0.5)
Zaloguj2 = driver.find_elements_by_xpath("//*[@class='dropdown-item dropdown-item--synergia']")
Zaloguj2 = Zaloguj2[1]
Zaloguj2.click()
time.sleep(1.5)
#Logowanko
frame = driver.find_element_by_xpath('//*[@id="caLoginIframe"]')
driver.switch_to.frame(frame)
wpisz_login = driver.find_element_by_class_name('form-control')
wpisz_login.send_keys(username)
wpisz_haslo = driver.find_elements_by_class_name('form-control')
wpisz_haslo = wpisz_haslo[1]
wpisz_haslo.send_keys(password)
zaloguj_button = driver.find_element_by_id("LoginBtn")
zaloguj_button.click()
driver.switch_to_default_content()
#Włączanie podzakładki z wiadomościami
time.sleep(6)
driver.get(url2)
time.sleep(1)
datas = driver.find_elements_by_class_name('line0')
# wywalanie zbędnego html
#wiadomosci0
for data in datas:
    data = str(data.get_attribute('innerHTML'))
    while data[-1] != "0" or data[-2] != "f": 
        data = data[:-1]
    while data[0] != "/" or data[1] != "w": 
        data = data[1:]
    data = data[1:]
    while data[0] != "/" or data[1] != "w": 
        data = data[1:]
    wiadomosci0.append(data)
#imiona
for data in datas:
    data = str(data.get_attribute('innerHTML'))
    while data[0] != '0' or data[1] != '"' or data[2] != ">" : 
        data = data[1:]

    data = data[3:]
    while data[-1] != ' ' or data[-2] != ')'  :
        data = data[:-1]
    imiona0.append(data)


#dzien0

for data in datas:
    data = str(data.get_attribute('innerHTML'))

    while data[0] != '2' or data[1] != '0' or data[2] != "2" : 

        data = data[1:]
    data = data[8:]
    while data[-1] != 't' or data[-2] != '/' or data[-3] != '<':
        data = data[:-1]
    data = data[:-9]
    while data[-1] != 't' or data[-2] != '/' or data[-3] != '<':
        data = data[:-1]
    data = data[:-1]
    data = data[:-11]
    dzien0.append(data)
datas = driver.find_elements_by_class_name('line0')
#wiadomosci1
for data in datas:
    data = str(data.get_attribute('innerHTML'))
    while data[-1] != "0" or data[-2] != "f": 
        data = data[:-1]
    while data[0] != "/" or data[1] != "w": 
        data = data[1:]
    data = data[1:]
    while data[0] != "/" or data[1] != "w": 
        data = data[1:]
    wiadomosci1.append(data)
#imiona1
for data in datas:
    data = str(data.get_attribute('innerHTML'))
    while data[0] != '0' or data[1] != '"' or data[2] != ">" : 
        data = data[1:]

    data = data[3:]
    while data[-1] != ' ' or data[-2] != ')'  :
        data = data[:-1]
    imiona1.append(data)


#dzien1

for data in datas:
    data = str(data.get_attribute('innerHTML'))

    while data[0] != '2' or data[1] != '0' or data[2] != "2" : 

        data = data[1:]
    data = data[8:]
    while data[-1] != 't' or data[-2] != '/' or data[-3] != '<':
        data = data[:-1]
    data = data[:-9]
    while data[-1] != 't' or data[-2] != '/' or data[-3] != '<':
        data = data[:-1]
    data = data[:-1]
    data = data[:-11]
    dzien1.append(data)
wiadomosci2 = [item for sublist in zip(wiadomosci0,wiadomosci1) for item in sublist]
imiona2 = [item for sublist in zip(imiona0,imiona1) for item in sublist]
dzien2 = [item for sublist in zip(dzien0,dzien1) for item in sublist]
for dzien in dzien2:
    dzien = int(dzien)
    
    if dzien == day:
        sort2 += 1
        dzien3.append(dzien)
    else :
        break


imiona3 = imiona2[:-len(imiona2) + sort2]
wiadomosci3 = wiadomosci2[:-len(wiadomosci2) + sort2]
# Pobieranie linków
for wiadomosc in wiadomosci3:
    driver.get(url3+wiadomosc)
    time.sleep(1.5)
    link = driver.find_element_by_class_name("container-message-content")
    link = str(link.get_attribute('innerHTML'))
    link = link[9:]
    while link[-1] != "r" or link[-2] != "a" or link[-3] != "t":
        link = link[:-1]
    link = link[:-5]
    linki0.append(link)

主文件:

import Librus
print(Librus.imiona3)

0 个答案:

没有答案
相关问题