1120

  模糊记忆对于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

本站公众号
   欢迎关注本站公众号,获取更多信息