ActionChains方法列表

1.ActionChains基本用法

首先需要了解ActionChains的执行原理,当你调用ActionChains的方法时,不会立即执行,而是会将所有的操作按顺序存放在一个队列里,当你调用perform()方法时,队列中的时间会依次执行。

这种情况下我们可以有两种调用方法: 

链式写法

menu = driver.find_element_by_css_selector(".nav")
hidden_submenu =    driver.find_element_by_css_selector(".nav #submenu1")
 
ActionChains(driver).move_to_element(menu).click(hidden_submenu).perform()
menu = driver.find_element_by_css_selector(".nav")
hidden_submenu = driver.find_element_by_css_selector(".nav #submenu1")
 
actions = ActionChains(driver)
actions.move_to_element(menu)
actions.click(hidden_submenu)
actions.perform()

 两种写法本质是一样的,ActionChains都会按照顺序执行所有的操作

2.ActionChains方法列表

  • click(on_element=None) ——单击鼠标左键
  • click_and_hold(on_element=None) ——点击鼠标左键,不松开
  • context_click(on_element=None) ——点击鼠标右键
  • double_click(on_element=None) ——双击鼠标左键
  • drag_and_drop(source, target) ——拖拽到某个元素然后松开
  • drag_and_drop_by_offset(source, xoffset, yoffset) ——拖拽到某个坐标然后松开
  • key_down(value, element=None) ——按下某个键盘上的键
  • key_up(value, element=None) ——松开某个键
  • move_by_offset(xoffset, yoffset) ——鼠标从当前位置移动到某个坐标
  • move_to_element(to_element) ——鼠标移动到某个元素
  • move_to_element_with_offset(to_element, xoffset, yoffset) ——移动到距某个元素(左上角坐标)多少距离的位置
  • perform() ——执行链中的所有动作
  • release(on_element=None) ——在某个元素位置松开鼠标左键
  • send_keys(*keys_to_send) ——发送某个键到当前焦点的元素
  • send_keys_to_element(element, *keys_to_send) ——发送某个键到指定元素

在使用Selenium进行悬浮后下拉列表的处理时,有两种不同的情况需要考虑。引用[1]中的代码演示了如何处理带有select元素的下拉列表,而引用中的代码演示了如何处理非select元素的下拉列表。 1. 对于带有select元素的下拉列表,可以使用Selenium提供的Select类进行处理。首先,通过定位方式找到select元素,然后实例化Select对象。接下来,可以使用下标、value属性或文本内容等方式来选择下拉列表中的选项。例如,可以使用s.select_by_index(1)来选择第一个选项,s.select_by_value("tech")来选择value属性为"tech"的选项,s.select_by_visible_text("娱乐")来选择文本内容为"娱乐"的选项。 2. 对于非select元素的下拉列表,首先需要定位到悬浮时触发下拉列表的元素。可以使用XPath或其他定位方式找到该元素。然后,使用ActionChains类的move_to_element方法将鼠标悬停在该元素上,然后执行perform方法来实现悬浮效果。接下来,可以通过定位方式找到下拉列表中的选项,并执行点击操作来选择相应的选项。例如,可以使用ActionChains(chr_driver).move_to_element(ele).perform()来实现悬浮效果,然后使用chr_driver.find_element(*loc).click()来点击下拉列表中的选项。 综上所述,Selenium可以通过Select类或ActionChains类来处理悬浮后下拉列表,具体使用哪种方式取决于下拉列表是带有select元素还是非select元素。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [selenium中的下拉列表的操作](https://blog.youkuaiyun.com/c_xiazai12345/article/details/120673191)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值