date:2018505+2018506 day05+06mor
1.cmd→pip install selenium
2.将浏览器驱动放入X:\Python27下(如chromedriver.exe放入C:\Python27)(前提是已安装浏览器)
注:浏览器驱动要和浏览器版本相对应
1.控制浏览器
2.查找元素
①.通过元素name方法查找——xxx.find_element_by_name(‘‘)
②.通过元素id方法查找——xxx.find_element_by_id(‘‘)
③.通过元素css样式方法查找——xxx.find_element_by_css_selector(‘‘)
④.通过元素xpath方法查找——xxx.find_element_by_xpath(‘‘)【选择代码块右键Copy→Copy Xpath】【长路径 单斜杠;短路径 双斜杠】【除了文本,一切xpath查找的属性前都要加@】
⑤.通过手动书写包含方法查找——xxx.find_element_by_xpath(‘//a[contains(text(),"")]‘)
⑥.通过class方法查找——xxx.find_element_by_class_name(‘‘)
⑦.通过link_text方法查找——xxx.find_element_by_link_text(‘‘)
⑧.同名元素处理——xxx.find_elements_by_XXX
3.selenium操作
①.智能等待——xxx.implicitly_wait(10)
②.消除原有数据——xxx.find_element_by_xpath(‘‘).clear()
③.退出 驱动浏览器退出——xxx.quit()
④.关闭当前窗口——xxx.close()
⑤.下拉框操作
#二次查找(先找父类,通过父类找到子元素):
#selenium封装的方法:先导入Select
⑥.获取文本
xxx.find_element_by_xpath().text
⑦.切换框架:xxx.switch_to.frame()
切除框架(切到默认框架):br.switch_to.default_concent()
⑧.鼠标操作:导入需要的库
⑨.弹窗
通知型
需要输入内容型
⑩.多窗口处理
?.键盘处理:导入库
?.浏览器前进、后退、刷新(封装好的内容,直接使用)
xxx.forward()
xxx.back()
xxx.refresh()
?.截图:
?.滚动条操作
同步:之前的事情做完了有结果,下件事才开始
br.execute_script()
异步:一起做事情,谁先做完返回结果
br.execute_async_script()
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#滑动到底部
js=“var q=document.body.scrollTop=1000”
#滑动到顶部
js=“var q=document.body.scrollTop=0”
#执行js语句
br.execute_script(js)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#拖动元素到可见位置
ele=br.find_element_by_id(‘‘)
br.execute_script("arguments[0].scrollIntoView();",ele)
?.Selenium其他写法(不支持link_text)
br.find_element(‘id‘,‘‘)
原文:https://www.cnblogs.com/maxxx/p/9144208.html