读书笔记——Selenium
浏览器操作部分
driver = webdriver.Firefox() #启动浏览器(可选择浏览器) driver.get("http://www.baidu.com") #请求网址 driver.forward() #浏览器前进 driver.back() #浏览器后退 driver.maximize_window() #浏览器最大化 driver.set_window_size(1920,1080) #设置浏览器大小 driver.quit() #关闭浏览器
对象定位方法
find_element_by_id() #使用id定位 find_element_by_name() #使用name定位 find_element_by_class_name() #使用class name定位 find_element_by_tag_name() #使用tag name定位 find_element_by_link_text() #使用link text定位 find_element_by_partial_link_text() #使用partial_link_text定位 find_element_by_xpath() #使用xpath定位 find_element_by_css_selector() #使用css selector定位
webdriver常用操作
clear 清除元素的内容,如果可以的话 send_keys 在元素上模拟按键输入 click 单击元素 submit 提交表单
鼠标事件
from selenium.webdriver.common.action_chains import ActionChains #引用 context_click() #右击 ouble_click() #双击 drag_and_drop() #拖动 move_to_element() #鼠标悬停在一个元素上 click_and_hold() #按下鼠标左键在一个元素
键盘事件
from selenium.webdriver.common.keys import Keys #引入 driver.find_element_by_id("elem").send_keys("selenium") #键入文本 driver.find_element_by_id("elem").send_keys(Keys.BACK_SPACE) #退格 常用键盘操作: send_keys(Keys.BACK_SPACE) #删除键(BackSpace) send_keys(Keys.SPACE) #空格键(Space) send_keys(Keys.TAB) #制表键(Tab) send_keys(Keys.ESCAPE) #回退键(Esc) send_keys(Keys.ENTER) #回车键(Enter) send_keys(Keys.CONTROL,'a') #全选(Ctrl+A) send_keys(Keys.CONTROL,'c') #复制(Ctrl+C) send_keys(Keys.CONTROL,'x') #剪切(Ctrl+X) send_keys(Keys.CONTROL,'v') #粘贴(Ctrl+V)
练习1【登陆Acfun】:
from selenium import webdriver driver=webdriver.Firefox() driver.get("http://www.acfun.tv/") driver.find_element_by_class_name("user-login").click() driver.close() allwindows=driver.window_handles driver.switch_to_window(allwindows) driver.find_element_by_id("ipt-account-login").send_keys("username") driver.find_element_by_id("ipt-pwd-login").send_keys("password") login=driver.find_element_by_class_name("area-tool").find_element_by_class_name("btn-login") login.click()