一、问题

我们有时候在使用selenium的时候,会遇到悬停后点击元素的操作,因此需要一个动作链来完成这个功能。

二、解决

从selenium的包中导入actionchains函数,利用xpath找到第一个元素,在利用move_to_element(【第一个元素的xpath】).perform()

再利用find_element_by_xpath(【第二个元素的xpath】)将连个元素作为一个整体,再利用click()进行调用。

 from selenium.webdriver.common.action_chains import ActionChains
       article = self.browser.find_element_by_xpath('//*[@id="' + key_word + '"]')
ActionChains(self.browser).move_to_element(article).perform()
menu = self.browser.find_element_by_xpath('//*[@id="' + key_word + '"]/div/div/div/ul/li[' + str(n) + ']/a')
5 menu.click()

三、注意事项

由于xpath在使用中自动进行定位,所以在选择元素的时候不随意手动点击内容,造成动作链中断无法完成响应的操作。

selenium中动作链的使用的更多相关文章

  1. selenium之动作链

    概念:一组连续的行为动作 爬取网站:https://www.runoob.com/try/try.php?filename=jqueryui-api-droppable 背景:把左边的方块横竖往下便宜 ...

  2. 爬虫selenium中动作链接ActionChains

    一.基本语法 生成一个动作actions=ActionChains(driver) 动作添加方法actions.方法 执行 actions.perform() 二.方法列表 click(on_elem ...

  3. Selenium之动作链(ActionChains)

    用selenium做自动化,有时候会遇到需要模拟鼠标操作才能进行的情况,比如单击.双击.点击鼠标右键.拖拽等等.而selenium给我们提供了一个类来处理这类事件——ActionChains   se ...

  4. selenium的动作链 actionchains

    click(on_element=None) ——单击鼠标左键 click_and_hold(on_element=None) ——点击鼠标左键,不松开 context_click(on_elemen ...

  5. selenium动作链

    简介 一般来说我们与页面的交互可以使用Webelement的方法来进行点击等操作. 但是,有时候我们需要一些更复杂的动作,类似于拖动,双击,长按等等. 这时候就需要用到我们的Action Chains ...

  6. 爬虫04 /asyncio、selenium规避检测、动作链、无头浏览器

    爬虫04 /asyncio.selenium规避检测.动作链.无头浏览器 目录 爬虫04 /asyncio.selenium规避检测.动作链.无头浏览器 1. 协程asyncio 2. aiohttp ...

  7. Selenium 动作链

    Selenium 模拟浏览器操作,有一些操作,它们没有特定的执行对象,比如鼠标拖曳.键盘按键等,这些动作用另一种方式来执行,那就是动作链 更多动作链参考官网:https://selenium-pyth ...

  8. selenium处理iframe和动作链

    selenium处理iframe和动作链 iframe iframe就是一个界面里嵌套了其他界面,这个时候selenium是不能从主界面找到子界面的属性,需要先找到子界面,再去找子界面的属性 动作链( ...

  9. selenium中元素操作之简单的鼠标、键盘操作(三)

    1.鼠标操作导入类:ActionChains --鼠标的操作形成一连串的动作链,由selenium的ActionChains类来完成模拟鼠标操作手表操作的过程:1.鼠标的操作,先放到一个列表中2.利用 ...

随机推荐

  1. LeetCode【83. 删除排序链表中的重复元素】

    我最开始的程序是 但是结果

  2. Linux系统重置root用户密码

    Linux系统重置root用户密码 作者:Eric 微信:loveoracle11g 查看系统版本是不是RHEL7 [root@zhouwanchun ~]# cat /etc/redhat-rele ...

  3. Vue 折叠面板Collapse在标题上添加组件后,阻止面板冒泡的用法

    iView组件中,折叠面板Collapse点击面板标题部分,会出现面板收起或展开的效果.那么在面板标题后面再添加下拉框之类的组件时,会出现跟面板点击一样的效果,这时候就需要阻止冒泡的用法了.具体代码: ...

  4. element-ui input输入框回车事件

    <el-input maxlength="30" v-model="answerInput" @keyup.enter.native="addA ...

  5. first*php*self*

    要完成一个简单的php程序,首先就是要分析一下要完成所需要实现哪些功能,以及页面的整体布局,以及会涉及到的一部分数据库的函数以及SQL语句. 今天自己简要做了一个php程序,拿到手后就开始创建所能用到 ...

  6. Ajax的异步与同步(async)

    1.async值为true (异步)当ajax发送请求后,在等待server端返回的这个过程中,前台会继续 执行ajax块后面的脚本,直到server端返回正确的结果才会去执行success,也就是说 ...

  7. leetcode141

    /** * Definition for singly-linked list. * public class ListNode { * public int val; * public ListNo ...

  8. Linux-vim文本编辑器

    [Vim文本编辑器] vim的三种模式:一般模式.编辑模式.命令模式. * 一般模式: 当你vim filename 编辑一个文件时,一进入该文件就是一般模式了.在这个模式下,你可以做的操作有,上下移 ...

  9. Session & Cookie 简介

    (一)简介 会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通 ...

  10. MFC笔记6

    1.MFC文件的读写操作 写操作 创建一个编辑框(IDC_INFOR_EDIT1),在里面输入信息,创建一个按钮(IDC_BUTTON),点击按钮会触发(OnBnClickedButton2()函数) ...