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)

以上是 selenium自动化工具 的全部内容, 来源链接: utcz.com/z/530097.html

回到顶部