python selenium 模块

控制已打开的浏览器

https://www.cnblogs.com/lovealways/p/9813059.html

 

selenium、自动填充文本框、自动点按钮

https://blog.csdn.net/github_26672553/article/details/78579038

 

selenium driver  驱动器下载:

http://npm.taobao.org/mirrors/chromedriver/

 

获取标签属性值

https://www.linuxhub.org/?p=3801

 

from openpyxl import load_workbook
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from openpyxl.utils import get_column_letter
import time

chrome_options = Options()
chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")
chrome_driver = "D:\Program Files\Python36\Scripts\chromedriver.exe"
driver = webdriver.Chrome(chrome_driver, chrome_options=chrome_options)

driver.get('http://search.anccnet.com/searchResult2.aspx')
wb = load_workbook(r'C:\Users\admin\Desktop\T1.xlsx')
sheet = wb.get_sheet_by_name('Sheet1')

for cell in list(sheet.columns)[0]:
    try:
        searchInput = driver.find_element_by_id('keyword')
        searchInput.clear()
        # searchInput.send_keys('6954767470573')
        # searchInput.send_keys('6923146102015')
        searchInput.send_keys(cell.value)

        button = driver.find_element_by_id('gdsBtn')
        button.click()

        tiaomaID4 = driver.find_element_by_class_name('p-info').find_elements_by_tag_name("a")[0].text
        changshang5 = driver.find_element_by_id('repList_ctl00_firmLink').text
        zhuangtai6 = driver.find_element_by_id('repList_ctl00_status').text[0:2]
        time.sleep(3)
        ret = driver.find_element_by_class_name('p-info').find_elements_by_tag_name("a")[0].get_attribute("href")
        driver.get(ret)

        name7 = driver.find_element_by_id('Att_Sys_zh-cn_141_G').text
        ename8 = driver.find_element_by_id('Att_Sys_en-us_141_G').text
        fenlei9 = driver.find_element_by_id('Att_Sys_zh-cn_22_G').text
        pinpai10 = driver.find_element_by_id('Att_Sys_zh-cn_304_G').text
        guige11 = driver.find_element_by_id('Att_Sys_zh-cn_332_G').text
        kuandu12 = driver.find_element_by_id('Att_Sys_zh-cn_101_G').text
        gaodu13 = driver.find_element_by_id('Att_Sys_zh-cn_106_G').text
        shendu14 = driver.find_element_by_id('Att_Sys_zh-cn_118_G').text
        yuanchanguo15 = driver.find_element_by_id('Att_Sys_zh-cn_74_G').text
        chandi16 = driver.find_element_by_id('Att_Sys_zh-cn_405_G').text
        zhuangpeiguo17 = driver.find_element_by_id('Att_Sys_zh-cn_171_G').text
        jibendanwei18 = driver.find_element_by_id('Att_Sys_zh-cn_107_G').text
        lingshoudanwei19 = driver.find_element_by_id('Att_Sys_zh-cn_204_G').text
        guanjianzi20 = driver.find_element_by_id('Att_Sys_zh-cn_11_G').text
        lingshoujia21 = driver.find_element_by_id('Att_Sys_zh-cn_196_G').text

        try:
            img = driver.find_element_by_id('imageListDiv')
        except Exception as e:
            img = ''

        sheet[get_column_letter(4) + str(cell.row)] = tiaomaID4
        sheet[get_column_letter(5) + str(cell.row)] = changshang5
        sheet[get_column_letter(6) + str(cell.row)] = zhuangtai6
        sheet[get_column_letter(7) + str(cell.row)] = name7
        sheet[get_column_letter(8) + str(cell.row)] = ename8
        sheet[get_column_letter(9) + str(cell.row)] = fenlei9
        sheet[get_column_letter(10) + str(cell.row)] = pinpai10
        sheet[get_column_letter(11) + str(cell.row)] = guige11
        sheet[get_column_letter(12) + str(cell.row)] = kuandu12
        sheet[get_column_letter(13) + str(cell.row)] = gaodu13
        sheet[get_column_letter(14) + str(cell.row)] = shendu14
        sheet[get_column_letter(15) + str(cell.row)] = yuanchanguo15
        sheet[get_column_letter(16) + str(cell.row)] = chandi16
        sheet[get_column_letter(17) + str(cell.row)] = zhuangpeiguo17
        sheet[get_column_letter(18) + str(cell.row)] = jibendanwei18
        sheet[get_column_letter(19) + str(cell.row)] = lingshoudanwei19
        sheet[get_column_letter(20) + str(cell.row)] = guanjianzi20
        sheet[get_column_letter(21) + str(cell.row)] = lingshoujia21

        if img:
            sheet[get_column_letter(21) + str(cell.row)] = ret

        wb.save(r'C:\Users\admin\Desktop\T1.xlsx')
        # print('end')

        time.sleep(3)
        driver.back()

    except Exception as e:
        print('%s 错误'%cell.value)
        time.sleep(3)
        driver.back()

wb.close()

 


 

 

切换到frame 标签

 

 

 

执行JS 代码,示例:执行JS代码滚动向下

 selenium 配置参数:(无头浏览器、代理、设置请求头)

 

posted @ 2019-04-05 01:11  Anec  阅读(413)  评论(0编辑  收藏  举报