• selenium简单功能实现


    from selenium import webdriver
    from selenium.webdriver.common.action_chains import ActionChains
    import time
    from selenium.webdriver.common.keys import Keys
    from selenium.webdriver.support.wait import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.common.by import By
    from multiprocessing import Pool
    import win32com
    
    
    class steel_open(object):
    
        def __init__(self):
            pass
    
            
        def open_url(self,driver,u):
            driver.get(u)
            #driver.maximize_window()
            
            print("打开网页")
            time.sleep(2)
            
        def choose_login(self,driver,name,pwd):
            self.swith_handle(driver)
            driver.find_element_by_css_selector("#mysteel-topBar > div.login-bar > span").click()
            driver.find_element_by_css_selector("[class='userName']").send_keys(name)
            driver.find_element_by_css_selector("[class='pasd pasdPsd hide']").send_keys(pwd)
            driver.find_element_by_css_selector("[class='loginBtnBig']").click()
            time.sleep(3)
            
            print("登录")
         
        def operate_url(self,driver,steel,day):
        
            self.swith_handle(driver)
            driver.refresh()
            if steel == "镀锌":
                js="window.scrollBy(0,700)"
                driver.execute_script(js)
                driver.find_element_by_css_selector("body > div.wrap > div:nth-child(4) > div:nth-child(2) > div.section_tab_level_one.menu_hook > a.active").click()
                self.swith_handle(driver)
                driver.refresh()
                driver.find_element_by_partial_link_text(day + "乐从市场" + steel + "板卷价格行情").click()
                time.sleep(2)
            if steel == "唐山市场建筑钢材":
                label = driver.find_element_by_partial_link_text("市场行情")
                ActionChains(driver).move_to_element(label)
                driver.find_element_by_partial_link_text(day + steel + "价格行情").click()
                time.sleep(2)
            if steel == "热轧":
                m = driver.find_element_by_partial_link_text(day + "乐从市场" + steel + "板卷价格行情")
                menu = WebDriverWait(driver, 15).until(lambda driver: m)
                menu.click()
            if steel == "冷轧":
                js="window.scrollBy(0,700)"
                driver.execute_script(js)
                label = driver.find_element_by_link_text("乐从")
                ActionChains(driver).move_to_element(label).perform()
                #menu = WebDriverWait(driver=driver, timeout=15).until(EC.visibility_of_element_located((By.LINK_TEXT, ll)))
                m = driver.find_element_by_partial_link_text(day + "乐从市场" + steel + "板卷价格行情")
                menu = WebDriverWait(driver, 15).until(lambda driver: m)
                menu.click()
    
            print("操作网页")
    
    
        def choose_list(self,driver,lis):
            self.swith_handle(driver)
            print(1)
            i=1
            driver.find_element_by_id('specDiv').click()
            driver.find_element_by_id(lis[0]).click()
            while lis[i]:
                driver.find_element_by_id('placeDiv').click()
                driver.find_element_by_id(lis[i]).click()
                i+=1
            print("选择完毕")
        
    
        def steel_all(self,driver,web,name,l):
            print(web)
            driver.execute_script("window.open('')")
            self.swith_handle(driver)
            self.open_url(driver,web)
            self.operate_url(driver,name,day)
            self.choose_list(driver,l)
    
        def swith_handle(self,driver):
            driver.switch_to.window(driver.window_handles[-1])
                    
        
    if __name__ == '__main__':
    
        li =  ["1.0*1219*C","鞍钢","马钢","首钢"]
        li1 = ['5.5-11.5*1500*C',"鞍钢"]
        li2 = ['Ф18-25',"河钢唐钢"]
        li3 = ['1.0*1250*C',"鞍钢"]
        ali = [li,li1,li2,li3]
        url_name = ''
        url_pwd = ''
        name = "镀锌"
        name1 = "热轧"
        name2 = "唐山市场建筑钢材"
        name3 = "冷轧"
        aname = [name,name1,name2,name3]
        tuduwang ='https://tudu.mysteel.com/'
        url1 = 'https://rezha.mysteel.com/'
        url2 = 'https://tangshan.mysteel.com/' 
        url3 = 'https://lengzha.mysteel.com/'
        aurl = [tuduwang,url1,url2,url3]
        day = input("请输入查询日期:")+""
        driver = webdriver.Chrome()
        s = steel_open()
        s.open_url(driver,tuduwang)
        s.choose_login(driver,url_name,url_pwd)
        for i in range(0,4):
            try:
                s.steel_all(driver,aurl[i],aname[i],ali[i])
            except Exception as e:
                print(e)
  • 相关阅读:
    python(3)-内置函数2
    SQL存储原理及聚集索引、非聚集索引、唯一索引、主键约束的关系(补)
    SQL存储原理及聚集索引、非聚集索引、唯一索引、主键约束的关系(新)
    SQL存储原理及聚集索引、非聚集索引、唯一索引、主键约束的关系
    计算机冷知识与简单密码常用转码
    下了个蓝屏代码查看工具,就中病毒了。。。什么鬼病毒,竟然还是用的VBS
    CSS选择器与jQuery选择器的异同:一些特殊的选择器
    无线显示技术:WiDi,WLAN Display,Air Play,Miracast的摘抄
    CSS float与clear & 替换元素与非替换元素
    jQuery-File-Upload外部按钮触发上传
  • 原文地址:https://www.cnblogs.com/ybxw/p/11388252.html
Copyright © 2020-2023  润新知