from bs4 import BeautifulSoup as bs
from time import sleep
import re
import pandas as pd
from selenium.webdriver.common.by import By
import undetected_chromedriver.v2 as uc
######## login Timeseries ###########
browser = uc.Chrome(executable_path='./chromedriver')
sleep(10)
browser.get('https://www.cl水电费是否arks大是大非ons.net/n/#/sin/tim水电费水电费eseries/bro水电费水电费wse')
sleep(20)
####输入用户名###
browser.find_element(by=By.XPATH,value = '//*[@id="usernameText"]').send_keys(' ')
sleep(5)
####点continue####
browser.find_element(by=By.XPATH,value = '/html/body/ngb-modal-window/div/div/modal/div[2]/modal-login-body/article/div[2]/button[1]').click()
sleep(6)
###输入密码###
browser.find_element(by=By.XPATH,value = '//*[@id="passwordTextFlagged"]').send_keys('')
sleep(5)
###点击login###
browser.find_element(by=By.XPATH,value = '/html/body/ngb-modal-window/div/div/modal/div[2]/modal-login-body/article/div[2]/button[2]').click()
sleep(5)
### 登陆成功###
######## data location 本模块根该据下载的数据不同要进行定制#####
### 点击目录第8项 containership li[8] 予以定位
browser.find_element(by=By.XPATH,value='//*[@id="ProductWrapper"]/main/div[2]/app-timeseries-base/section/div/div/app-browse/kendo-splitter/kendo-splitter-pane[1]/timeseries-browse-hierarchy/kendo-treeview/ul/li[8]/div/span[1]').click()
sleep(5)
### 继续在细分目录中点击第8项earning and freight ul/li[8]/ul/li[8] 予以定位
browser.find_element(by=By.XPATH,value='//*[@id="ProductWrapper"]/main/div[2]/app-timeseries-base/section/div/div/app-browse/kendo-splitter/kendo-splitter-pane[1]/timeseries-browse-hierarchy/kendo-treeview/ul/li[8]/ul/li[8]/div/span[1]').click()
sleep(5)
### 继续在细分目录中点击第2项 spot freight rates /li[8]/ul/li[8]/ul/li[2]予以定位
browser.find_element(by=By.XPATH,value='//*[@id="ProductWrapper"]/main/div[2]/app-timeseries-base/section/div/div/app-browse/kendo-splitter/kendo-splitter-pane[1]/timeseries-browse-hierarchy/kendo-treeview/ul/li[8]/ul/li[8]/ul/li[2]/div/span[1]').click()
sleep(5)
### 继续在细分目录中点击第21项 SCFI Shanghai-Europe (base port) Container Freight Rate 前面的方框
element = browser.find_element(by=By.XPATH,value='//*[@id="ProductWrapper"]/main/div[2]/app-timeseries-base/section/div/div/app-browse/kendo-splitter/kendo-splitter-pane[1]/timeseries-browse-hierarchy/kendo-treeview/ul/li[8]/ul/li[8]/ul/li[2]/ul/li[21]/div/span/span/div/input')
browser.execute_script("arguments[0].click();", element)
#browser.find_element(by=By.XPATH,value='').click()
sleep(5)
######data location结束######
###点击Excel按钮进行下载###
browser.find_element(by=By.XPATH,value = '//*[@id="ProductWrapper"]/main/div[2]/app-timeseries-base/section/div/div/app-browse/kendo-splitter/kendo-splitter-pane[2]/app-grid-chart-data/div/article/timeseries-viewmode-panel/div/div/crsl-button[5]/button/span').click()
sleep(5)
###点击accept予以确认下载###
browser.find_element(by=By.XPATH,value = '/html/body/ngb-modal-window/div/div/modal/div[2]/app-download-modal/section/div[4]/a').click()