如何使用 Selenium Python 将鼠标从元素向上移动 9 个像素
Posted
技术标签:
【中文标题】如何使用 Selenium Python 将鼠标从元素向上移动 9 个像素【英文标题】:How to move the Mouse 9 pixels up from an element using Selenium Python 【发布时间】:2021-12-29 15:42:05 【问题描述】:我有问题。我需要将鼠标移动到一个元素上,然后将鼠标从该元素向上提升 9 个像素。
classic = browser.find_element(By.CLASS_NAME,"surf-text")
nadclassiknav = webdriver.ActionChains(browser).move_by_offset(0, -9)
webdriver.ActionChains(browser).click()
【问题讨论】:
问题出在哪里? 【参考方案1】:要将鼠标移动到一个元素,然后将鼠标从该元素向上移动 9 个像素,您需要诱导 WebDriverWait 为 visibility_of_element_located()
识别元素,移动鼠标,最后是 perform() 动作链,您可以使用以下Locator Strategy:
ActionChains(browser).move_to_element(WebDriverWait(browser, 20).until(EC.visibility_of_element_located((By.CLASS_NAME, "surf-text")))).move_by_offset(0, -9).perform()
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.action_chains import ActionChains
【讨论】:
由于某种原因,控制台抛出此错误: Traceback (most recent call last) File "D:\PythonProjects\AvisoBot\bot.py", line 51, in(By.CLASS_NAME, "surf-text")
。 classic = browser.find_element(By.CLASS_NAME,"surf-text")
行是否定位到元素?
在网站上,您需要后退 9 个像素的元素如下所示:Просмотр видеоролика
我们对<span class="serf-text">Просмотр видеоролика</span>
或By.CLASS_NAME,"surf-text")
没有任何线索。我只有你执行任务的语法。定位元素应该是一个单独的问题。
以及如何在 selenium 中显示光标?或者至少知道他的位置?我需要这个,以便我可以配置机器人工作。以上是关于如何使用 Selenium Python 将鼠标从元素向上移动 9 个像素的主要内容,如果未能解决你的问题,请参考以下文章
selenium webdriver从安装到使用(python语言),显示等待和隐性等待用法,切换窗口或者frame,弹框处理,下拉菜单处理,模拟鼠标键盘操作等