本文已参与「新人创作礼」活动,一起开启掘金创作之路
介绍
今天是更新的第二天,也是在掘金发布的第二篇文章,更新selenium的后续使用
补充昨天的不足:selenium浏览器的驱动下载
打开你的设置,点击关于Chrome,查看你的浏览器版本
浏览器驱动下载:chromedriver.storage.googleapis.com/index.html
根据你的浏览器版本找到对应的驱动下载
下载完成之后进行解压,保存到文件夹中,然后在环境变量的系统变量的path配置环境变量(配置的是当前的驱动的所在位置)
鼠标控制
鼠标的操作就是模拟用户点击鼠标点击事件进行操作,主要的操作方式有:左键单击,右键单击,双击,鼠标悬停,鼠标拖动
鼠标左键
比如说我现在要使用鼠标左键点击首页
定位首页
juejin = driver.find_element_by_xpath('/html/body/div[1]/div/div/div[1]/div/header/div/nav/ul/li/ul/li[1]/a')
单击操作
juejin.click()
代码所示第一步是通过xpath的定位方式对首页的按钮进行定位,然后通过在调用click的方式实现左键单击的操作
单击右键
右键的点击方式又是和左键不太一样,右键需要使用ActionChains
还是首页的右键点击
# 还是先定位首页
button = driver.find_element_by_xpath('//*[@id="toolbar-search-button"]/span')
# 这个就是对首页的右键单击事件
ActionChains(driver).context_click(button).perform()
鼠标悬停
有一些网页的操作是需要鼠标悬停才可以展示的,不悬停一些点击的按钮是不显示的
比如京东举例
这个是鼠标没有悬停的时候
这个是悬停的时候
首先复制选择位置的xpath
定位运营商
yuny = driver.find_element_by_xpath('/html/body/div[1]/div[5]/div[1]/div[1]/div/ul/li[2]/a[2]')
悬停操作
ActionChains(driver).move_to_element(collect).perform()
双击事件
双击首页
# 定位首页
button = driver.find_element_by_xpath('/html/body/div[1]/div/div/div[1]/div/header/div/nav/ul/li/ul/li[1]/a')
# 双击
ActionChains(driver).double_click(button).perform()
拖动事件
拖动事件是需要定位两个元素,从第一个元素拖动到第二个元素的事件,第一个元素是从这个元素开始按下鼠标,然后拖动到第二个元素之后松开鼠标。
那掘金的首页进行举例
我的需求是从首页拖动到沸点,我就需要他两个的xpath
# 定位首页
yuansu1 = driver.find_element_by_xpath('/html/body/div[1]/div/div/div[1]/div/header/div/nav/ul/li/ul/li[1]/a')
# 定位沸点
yuansu2 = driver.find_element_by_xpath('/html/body/div[1]/div/div/div[1]/div/header/div/nav/ul/li/ul/li[2]/a')
# 执行拖动动作
ActionChains(driver).drag_and_drop(yuansu1, yuansu2).perform()
下一篇明天上午或者是今天下午的时候更新