模糊记忆对于selenium中的几个方法python
首先,使用要有在前的from selenium import webdriver和对鼠标事件的检测from selenium.webdriver.common.action_chains import ActionChars灵活用tab来快速打出git
而后是针对网页定位,先是给有url(或者添加手动输入的)url='https://www.bilibili.com/'github
接着是给定path(也就是你的chromedriver.exe的位置[对于chromedrivr.exe的安装有时间再写出])我的建议,exe文件能够重命名,按喜爱能够本身更改。路径建议不要有中文。path='D:\\python\\chromedriver.exeweb
下一步我的意定为实例化一个robot来看成操做对象driver=webdriver.Chrome(executable_path=path)这里的path=path就是指定path(你的chrome driver文件的位置)[对于为啥那里是Chrome我也不懂,估计是方法名就那样定义的](用pycharm进入chrome函数看了一下,只是介绍,而Chrome函数里面才是真身,也就是Chrome才是函数体,chrome是介绍)chrome
用浏览器加载页面的方法➡driver.get(url)(这里用到的url就是你上面指定的)浏览器
开始定位元素,展现xpath的用法(指定性强)driver.find_element_by_xpath('//*[@id="bili-header-m"]/div[1]/div[3]/div[2]/div[1]/ul/li[1]/a/div/img') driver是对象,来调用xpath定位的方法,传入参数是xpath定位用的,浏览器中能够F2里面定位而后右击copy复选框有xpath[以下图,能够点开看(大概)]ps:定位方法有不少,有时间再介绍函数
有了定位,就能够作到点击,把定位的代码改一下ui
driver.find_element_by_xpath('//*[@id="banner_link"]/div/div/a/span').click()
就是点击排行榜了,最基础的操做还有刷新driver.refresh()、返回driver.back()、浏览器窗口最大化driver.maxmize_window()、关闭单个窗口driver.close()、关闭全部窗口driver.quit()、设置窗口大小driver.forward()、设置浏览器位置driver.set_window_position(300,200)
url
webdriver 的其余方法:size(返回元素大小)text(得到元素的文本)title(得到页面title)current_url(获取当前页面URL)get_attribute()(获取属性值)is_disaplay()(判断元素是否可见)is_enabled()(判断元素是否可用)再多的就等用到了再来补充😂spa
鼠标
除了基础的那些click这种点击操做,大部分鼠标操做是封装在ActionChains类中的。导入也就是
from selenium.webdriver.common.action_chains import ActionChains
用的多的:
说在前面,使用ActionChains必定要有结尾函数.perform()这是说明提交并执行,没有的话就不会按你想的来(我的理解,鼠标操做能够不少同时,或者好几步一块儿,因此,要有结束标志)
context_click()(右击,模拟鼠标右击[基本没用,网页中右击没大用])
double_click()(双击,有的时候用)
drag_and_drop()(拖动,能够来模拟双标拖动效果)实际运用上也很少
move_to_element()(悬停,一般用来检测是否有悬停时显示)
键盘
send_keys(Keys.参数)
参数的位置:BACK_SPACE[删除键] SPEACE[空格] Tab[制表键] ESCAPE[回退键] ENTER[回车键] CONTROL,'a'[全选] CONTROL,'a'[复制]
以上,如全选就是send_keys(Keys.CONTROL,'a')这样使用
元素等待
导入 from selenium.webdriver.support.wait import WebDriverWait 等待类
导入 from selenium.webdriver.support import expected_conditions as EC 判断条件(这里的as是起别名,能够不加)
11月20日over