标签:body rip selector 右键 highlight strong module 分享 scrollby
必备知识
在官网上下好selenium-3.0.1-py2.py3-none-any.whl,然后进入下载文件所在的位置
pip install selenium-3.0.1-py2.py3-none-any.whl
再下个Chrom的驱动,具体可以参考虫师的博客
Selenium快速入门
1. 需要的模块和基本操作
from selenium import webdriver from selenium.webdriver.common.action_chains import ActionChains import time driver = webdriver.Chrome()
其中webdriver 用来打开浏览器,ActionChains是用来控制浏览器的一些操作
2. 访问网络
driver.get(‘http://pan.baidu.com‘)
3. 在当前页面输入账号、密码、验证码
这里很6的地方在于只要始终在当前窗口操作,脚本里的driver和你所改动的操作是同步的,省去了很多事
4. 获得浏览器的焦点,用来模拟鼠标
mouse = ActionChains(driver)
5. 必备知识
5.1 定位元素
element = driver.find_element_by_xpath(‘ ‘) element = driver.find_element_by_css_selector() element = driver.find_element_by_id() element = driver.find_element_by_name() element = driver.find_element_by_class_name()
按个人经验,在谷歌浏览器按F12后右键copy可以复制xpath或css_selector,比较方便,而id、name、class_name在定位按钮、文本框时比较有用
5.2 浏览器操作
看很多教程里都是说控制鼠标,个人觉得应该说模拟鼠标或控制浏览器焦点更合适,因为鼠标根本没动嘛,只有焦点改变了。
context_click() # 右击 double_click() # 双击 drag_and_drop() # 拖动 element = driver.find_element_by_... # 在某个元素上右击 ActionChains(driver).contex_click(element).perform() # 移动到某个元素上 ActionChains(driver).move_to_element(element).perform() # 在某个元素上左击 ActionChains(driver).click(element).perform() # 滚动 driver.execute_script("window.scrollBy(dx, dy)", "") # 偏移 ActionChains(driver).move_by_offset(dx, dy).perform() # 左击 ActionChains(driver).click().perform()
6. 执行脚本
# 移到好友并点击 friend = driver.find_element_by_css_selector(‘#body > div > div > div > div.module-sectionLists > ul > li.tabs-item.friend-item > a > em‘) mouse.move_to_element(friend).perform() mouse.click().perform() # 移动到好友下方的第一个群组并点击 driver.implicitly_wait(5) while 1: try: mouse.move_to_element(friend).perform() mouse.move_by_offset(0, 116).perform() mouse.click().perform() time.sleep(0.1) # 分享文件按钮 fenx = driver.find_element_by_xpath(‘//*[@id="body"]/div/div/div/div[2]/div[2]/div/div/a‘) fenx.click() time.sleep(0.1) # 选中了下拉标签 driver.find_element_by_xpath(‘//*[@id="body"]/div/div/div/div[2]/h2/div[1]/div/span‘).click() time.sleep(0.1) # 退群按钮 time.sleep(0.1) driver.find_element_by_class_name(‘group-exit-btn‘).click() # 确认按钮 time.sleep(0.1) driver.find_element_by_css_selector(‘#_disk_id_26‘).click() except StandardError, e: time.sleep(1)
标签:body rip selector 右键 highlight strong module 分享 scrollby
原文地址:http://www.cnblogs.com/ajmd/p/6103920.html