zoukankan      html  css  js  c++  java
  • python使用selenium模拟操作Chrome浏览器

    1、安装selenium

    pip install selenium

    2、打开浏览器登录获取cookie

    from selenium import webdriver
    import time
    import json
    
    
    driver = webdriver.Chrome()     # 创建Chrome对象.
    
    # 操作这个对象.
    driver.get('https://baidu.com')     # get方式访问
    time.sleep(5)
    
    el = driver.find_element_by_xpath("//input[@type='text']")
    el.send_keys('***********')
    time.sleep(2)
    el = driver.find_element_by_xpath("//input[@type='password']")
    el.send_keys('*****')
    time.sleep(2)
    
    el = driver.find_element_by_id("submit-login")
    el.click()
    time.sleep(2)
    
    #获取网站cookie
    diccookie=driver.get_cookies()
    fw=open('cookie.txt','w')
    json.dump(diccookie,fw)
    fw.close()
    
    #driver.get_screenshot_as_file('foo.png')
    time.sleep(10)
    #driver.quit()   # 使用完, 记得关闭浏览器, 不然chromedriver.exe进程为一直在内存中.

    3、读取使用cookie:

    from selenium import webdriver
    import time
    import json
    
    
    driver = webdriver.Chrome()     # 创建Chrome对象.
    
    driver.get('https://mp.qutoutiao.net')          
    fr=open('cookie.txt','r')
    cookielist=json.load(fr)
    fr.close()
    for cookie in cookielist:
        driver.add_cookie(cookie)
    # 操作这个对象.
    driver.get('https://mp.qutoutiao.net')     # get方式访问
    time.sleep(1)
    
    #driver.get_screenshot_as_file('foo.png')
    #time.sleep(10)
    #driver.quit()   # 使用完, 记得关闭浏览器, 不然chromedriver.exe进程为一直在内存中.

    4、登录完成,开始干活

    #-*-coding:utf-8-*-
    from selenium import webdriver
    import time
    import json
    
    
    driver = webdriver.Chrome()     # 创建Chrome对象.
    driver.maximize_window()
    # 操作这个对象.
    driver.get('https://mp.***.net')     # get方式访问
    time.sleep(5)
    
    el = driver.find_element_by_xpath("//input[@type='text']")
    el.send_keys('****')
    time.sleep(2)
    el = driver.find_element_by_xpath("//input[@type='password']")
    el.send_keys('*****')
    time.sleep(2)
    
    el = driver.find_element_by_id("submit-login")
    el.click()
    time.sleep(2)
    
    #获取网站cookie
    diccookie=driver.get_cookies()
    fw=open('cookie.txt','w')
    json.dump(diccookie,fw)
    fw.close()
    
    el = driver.find_element_by_class_name("shadow-close")
    el.click()
    time.sleep(2)
    
    #滚动到浏览器顶部
    js_top = "var q=document.documentElement.scrollTop=0"
    #滚动到浏览器底部
    js_bottom = "var q=document.documentElement.scrollTop=10000"
    js_bottom2 = "window.scrollTo(0,document.body.scrollHeight)"
    
    driver.execute_script(js_top)
    
    el = driver.find_element_by_class_name("sub-child-txt")
    el.click()
    time.sleep(2)
    
    el = driver.find_element_by_xpath('//div[@class="content-header"]/div/p[3]')
    el.click()
    time.sleep(2)
    #article 图文1,3 video视频2,4
    el = driver.find_element_by_xpath('//div[@class="content-article"]/div/p[4]')
    el.click()
    time.sleep(2)
    
    for i in range(1,100):
        try:
            el = driver.find_element_by_class_name("icon-delete")
            el.click()
            time.sleep(2)
    
            el = driver.find_element_by_class_name("el-button--primary")
            el.click()
            time.sleep(2)
            #driver.refresh()
        except:
            pass
        
    
    #print(txt)
    
    #driver.get_screenshot_as_file('foo.png')
    time.sleep(10)
    #driver.quit()   # 使用完, 记得关闭浏览器, 不然chromedriver.exe进程为一直在内存中.
  • 相关阅读:
    【华为云技术分享】云小课 | 磁盘容量不够用?小课教你来扩容!
    什么时候用用value,什么时候用innerHTML?
    零碎知识点总结
    hnctf安恒--蜘蛛侠呀
    sqli-labs Less-11 and Less-12
    sql注入--基于报错的注入
    ‘百度杯’十月场web ---login
    “百度杯”CTF比赛 九月场---123
    百度杯 ctf 九月场---Text
    【迎圣诞,拿大奖】+流量分析+Writeup分享
  • 原文地址:https://www.cnblogs.com/liangblog/p/13554025.html
Copyright © 2011-2022 走看看