?
import sys
import pickle
?
import selenium
?
from selenium.webdriver.support.ui import WebDriverWait????????
?
def wait_condition_01(driver):
????return driver.find_element_by_id('dateList_container_pageid')
?
def extract_table(driver, stocklist):
????tag_table= driver.find_element_by_class_name("tablestyle")
????tabletext= tag_table.text
????stocklist.extend(tabletext.split('\n')[1:])
?
driver= selenium.webdriver.Firefox()
?
stocklist= []
extract_table(driver=driver, stocklist=stocklist)
?
tag_meta= driver.find_element_by_id("staticPagination")
attr_total= int(tag_meta.get_attribute("total"))
attr_pageCount= int(tag_meta.get_attribute("pageCount"))
?
for pagenr in range(2, attr_pageCount+1):
????id_input= 'dateList_container_pageid' if pagenr > 2 else 'xsgf_pageid'
????id_button= 'dateList_container_togo' if pagenr > 2 else 'xsgf_togo'
?????
????tag_input= driver.find_element_by_id(id_input)
????tag_button= driver.find_element_by_id(id_button)
????tag_input.send_keys(str(pagenr))
????tag_button.click()
????WebDriverWait(driver, 10).until(wait_condition_01)
?
????extract_table(driver=driver, stocklist=stocklist)
?
data= {
????'個股總數(shù)': attr_total,
????'個股列表': stocklist,
}
?
driver.quit()
pdata= pickle.dumps(data, protocol=2)
sys.stdout.write( pdata + b'\n' )