selenium非select类的下拉框处理实现鼠标滚轮事件

本文介绍了如何使用Selenium处理非select类的下拉框,推荐采用直接拖动至可见元素的方法,适用于Python测试工具。提供了两种实现方式的代码示例。
摘要由CSDN通过智能技术生成

我查询了很久,在我们遇到非select类的下拉框处理的时候,建议使用第二种方法,可以直接拖动到可见的元素去。建议试一试,用爽了过来谢我!

第一种:

js="var q=document.documentElement.scrollTop=10000"
driver.execute_script(js)

在w3c中是这样定义的
scrollTop() 方法返回或设置匹配元素的滚动条的垂直位置。
scroll top offset 指的是滚动条相对于其顶部的偏移。
如果该方法未设置参数,则返回以像素计的相对滚动条顶部的偏移。

代码:

from selenium import webdriver
import time

web = webdriver.Chrome()

web.get("http://www.jd.com")
web.find_element_by_id('key').send_keys('背包')
web.find_element_by_class_name('button').click()
time.sleep(3)
# 向下偏移了10000个像素,到达底部。
js="var q=document.documentElement.scrollTop=10000"
web.execute_script(js)
time.sleep(5)
#本来是只有30个元素,设置时间等待js动态加载,结果为60个元素。
hah = web.find_elements_by_xpath('//*[@id="J_goodsList"]/ul/li')
print(len(ha
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值