selenium  自动化工具[Python常见问题]

安装:

  pip install selenium

Chrome浏览器驱动的安装

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

  下载对应版本的浏览器驱动

  解压后得到驱动的可执行文件

  将其拷贝到任意环境变量目录

  $ echo $PATH          查看环境变量路径

库的导入                       from selenium import webdriver

创建浏览器对象            driver = webdriver.Chrome()

          使用dir(driver)查看方法

加载网页:                   driver.get(“http://www.baidu.com/”)

 

  简单操作:

  driver.maximize_window()                       最大化 

  driver.close()                                           关闭当前标签/窗口

  driver.quit()                                              关闭所有标签/窗口

  driver.save_screenshot(“baidu.png”)      保存页面快照

  定位和操作:

    driver.find_element_by_xpath(“//…../…”)

    driver.find_element_by_id(“usename”)

  查看请求信息:

  driver.page_source           获取源码

  driver.get_cookies()          获取浏览器中存储的cookies

  driver.current_url           查看当前url

  driver.title                 查看当前标签的标题

从定位到的元素中提取数据的方法

  el.get_attribute(key)       获取key属性名对应的属性值

  el.text             获取开闭标签之间的文本内容

对定位到的元素的操作

  el.click()           对元素执行点击操作

  el.submit()            对元素执行提交操作

  el.clear()               清空可输入元素中的数据

  el.send_keys(data)         向可输入元素输入数据

 

自动登录抢商品(票等)  举例: 

 

京东秒杀  练习

import time

from selenium import webdriver


driver = webdriver.Chrome()
driver.get("https://miaosha.jd.com/")

driver.implicitly_wait(5)
#验证是否登录 try: user = driver.find_element_by_xpath("//*[@id="ttbar-login"]/div[1]/a") except: driver.find_element_by_xpath("//*[@id="ttbar-login"]/a[1]").click() handles_list = driver.window_handles driver.switch_to.window(handles_list[-1]) t = 0 while True: try: user = driver.find_element_by_xpath("//*[@id="ttbar-login"]/div[1]/a") except: #等待扫玛登录 t+=1 print(t) continue #账号登陆 # driver.find_element_by_xpath("//*[@id="content"]/div[2]/div[1]/div/div[3]/a").click() # time.sleep(5) # driver.find_element_by_id("loginname").send_keys("12345678910") # driver.find_element_by_id("nloginpwd").send_keys("12345678910") # time.sleep(5) # driver.find_element_by_id("loginsubmit").click() break print("--------------------------------------") n = 0 while True: now_time = driver.find_element_by_xpath("//*[@id="timeline"]/div/ul/li[1]/a/div/div[1]/i").text
   if now_time == "18:00": nead_good = driver.find_element_by_xpath("//*[@id="super_seckill"]/div/ul/li[1]/div/a") if nead_good.text == "立即抢购": nead_good.click() handles_list = driver.window_handles driver.switch_to.window(handles_list[-1]) driver.find_element_by_id("InitCartUrl").click() driver.implicitly_wait(5) driver.quit() break time.sleep(5) n += 1 print(n)
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » selenium 自动化工具