0


python+selenium下拉列表,滚动条操作失效时,用键盘向下键代替

我们项目的页面有一个下拉列表,但不是select类型,无法通过封装称Select来操作。看了很多文章都写通过js代码driver.execute_script("window.scrollTo(0,10000)")可以实现滚动,但我怎么试都不行,就选择换一种思路,通过键盘向下键来代替鼠标滚动

我们项目的下拉列表是ul类型,列表中的值是li类型

在页面上点击这个标注文字时在下方出现下拉框,我先用截图工具截取图中红线区域,计算从该按钮中心移动到右侧下拉滚动条的像素距离,然后用move_to_element_with_offset方法将鼠标移动到进度条上,单击进度条后,再用键盘事件send_keys(Keys.DOWN)的向下键即可实现下拉列表向下滚动

代码参考

from selenium.webdriver import Keys
from selenium.webdriver.common.action_chains import ActionChains

def scroll_down(self,element):
    #页面定位到标注按钮
    tagging_button = self.find_element_by_xpath(element)
    #178,100就是上图中红线框的长和宽,将鼠标从标注按钮移到进度条
    self.move_to_element_with_offset(tagging_button, 178, 100)  
    actions = ActionChains(driver)
    #点击进度条
    actions.click()
    i = 0
    while i < 8:
        #键盘向下一次
        actions.send_keys(Keys.DOWN).perform()
        i = i + 1
    time.sleep(1)

本文转载自: https://blog.csdn.net/gubb673/article/details/128633602
版权归原作者 起于奇遇 所有, 如有侵权,请联系我们删除。

“python+selenium下拉列表,滚动条操作失效时,用键盘向下键代替”的评论:

还没有评论