栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

带有seleniumwebdriver的鼠标滚轮,在没有滚动条的元素上?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

带有seleniumwebdriver的鼠标滚轮,在没有滚动条的元素上?

要重现/测试鼠标滚轮,您必须通过脚本注入将

mouseover
mousemove
wheel
事件发送到顶部元素。

这是Google Map的工作示例:

from selenium import webdriverfrom selenium.common.exceptions import WebDriverExceptiondef wheel_element(element, deltaY = 120, offsetX = 0, offsetY = 0):  error = element._parent.execute_script("""    var element = arguments[0];    var deltaY = arguments[1];    var box = element.getBoundingClientRect();    var clientX = box.left + (arguments[2] || box.width / 2);    var clientY = box.top + (arguments[3] || box.height / 2);    var target = element.ownerdocument.elementFromPoint(clientX, clientY);    for (var e = target; e; e = e.parentElement) {      if (e === element) {        target.dispatchEvent(new MouseEvent('mouseover', {view: window, bubbles: true, cancelable: true, clientX: clientX, clientY: clientY}));        target.dispatchEvent(new MouseEvent('mousemove', {view: window, bubbles: true, cancelable: true, clientX: clientX, clientY: clientY}));        target.dispatchEvent(new WheelEvent('wheel',     {view: window, bubbles: true, cancelable: true, clientX: clientX, clientY: clientY, deltaY: deltaY}));        return;      }    }        return "Element is not interactable";    """, element, deltaY, offsetX, offsetY)  if error:    raise WebDriverException(error)options = webdriver.ChromeOptions()options.add_argument("--disable-infobars --disable-extensions --window-size=1366,768")driver = webdriver.Chrome(chrome_options=options)driver.get("https://www.google.co.uk/maps")# get elementelm = driver.find_element_by_css_selector("#scene > div.widget-scene > canvas")# zoom in with mouse wheelwheel_element(elm, -120)# zoom out with mouse wheelwheel_element(elm, 120)

作为替代方案,您可以发送Google地图+/-的缩放比例:

# get elementelm = driver.find_element_by_css_selector("#scene > div.widget-scene > canvas")# zoom in with shortcutelm.send_keys("+")# zoom out with shortcutelm.send_keys("-")


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/392026.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号