selenium自动化工具
安装:
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 timefrom selenium import webdriverdriver
= 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_handlesdriver.switch_to.window(handles_list[
-1])t
= 0while 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