gpt4 book ai didi

python - 在 Selenium 中显示当前光标位置

转载 作者:太空狗 更新时间:2023-10-29 21:03:26 27 4
gpt4 key购买 nike

有没有办法显示当前光标位置或类似的东西?我有一个应该点击某个对象上的确切点的 Action 链,但我想我选错了坐标。我使用 Firefox webdriver。脚本如下所示:

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

driver = webdriver.Firefox()
driver.get("http://www.mysite/")
elem = driver.find_element_by_xpath('//div[@id="player"][1]/object[@type="application/x-shockwave-flash"]')
action_chains = ActionChains(driver)
action_chains.move_to_element_with_offset(elem, 660, 420).perform()
action_chains.click().perform()
time.sleep(10)
driver.close()

最佳答案

我有一个不透明的 HTML5 Canvas ,我必须在其中检查各种偏移量的工具提示值,这真是麻烦!经过大量的敲击之后,我学到了一些重要的东西:

  1. move_to_element_by_offset 在 2.42 之前有问题。另见 https://code.google.com/p/selenium/issues/detail?id=4215

  2. 即使在更新之后,move_to_element_by_offset 看起来仍然很挑剔。我切换到 ActionChains move_to_element 悬停(默认到元素的中心)和第二个 ActionChainsmove_by_offset

    的组合
  3. 既然您已经就位,请重新请求位置敏感元素。在我的例子中,这是一个工具提示对象。此 selenium.webdriver.remote.element 将包含您需要的 .location['x'].location['y'] 成员理智地检查你的位置。

perform 的 ActionChain 悬停后抓取光标位置不起作用的事情,以节省大家一些时间:

  • .location['x'].location['y'] 在您传递到 move_to_element 的元素上。 ActionChains 不会更新这些值。
  • selenium.webdriver.remote.webdriver switch_to_active_element;我不清楚哪些元素符合“事件”条件,但它不承认我们的工具提示是事件元素并返回 [0, 0] 坐标。
  • selenium.webdriver.remote.webdriver get_window_position;文档有点含糊,但这正是函数所建议的:一个窗口而不是光标位置。

关于python - 在 Selenium 中显示当前光标位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22859050/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com