Chrome 在Selenium Webdriver和% s中显示光标

ikfrs5lh  于 2023-05-20  发布在  Go
关注(0)|答案(1)|浏览(149)

我正在用Python构建Selenium Webdriver脚本。我的问题是,我正在执行一些动作,包括移动到某个位置,并点击那里。我的操作不起作用,所以我想运行非无头脚本,看看发生了什么,但是,由于光标没有出现在屏幕上,我无法看到我的鼠标是否按预期移动。在浏览器窗口中运行Selenium时,有什么方法可以看到光标吗?我正在使用Chromium,但我计划在这个脚本中添加更多的浏览器,所以我需要一些至少适用于Chromium的东西,但如果有其他浏览器的解决方案也会很有用。我必须移动到元素并单击它的代码是这样的:

def scrollToCenter(driver, element):
    # Get the height of the window
    window_height = driver.execute_script("return window.innerHeight;")
    # Get the position of the element relative to the top of the page
    element_position = element.location['y']
    # Calculate the position to scroll to
    scroll_position = element_position - window_height/2
    # Scroll the page to the desired position
    driver.execute_script("window.scrollTo(0, {});".format(scroll_position))
    # move the cursor to the element
    actions = ActionChains(driver)
    actions.move_to_element(element).perform()

def simulateClick(driver, el):
    # Scroll to the point where the element is located
    driver.execute_script("arguments[0].scrollIntoView();", el)
    try:
        # Move to the element and click it
        scrollToCenter(driver, el)
        el.click()
    except Exception as e:
        print(e)

观看卷轴的表演也会很有用。
另外,我想知道我是否可以将这个测试用例的无头执行存储在视频中,这样我就不需要在它检查鼠标是否处于正确位置时观看执行。

px9o7tmv

px9o7tmv1#

而不是显示光标,你可以尝试记录坐标的点击。只要运行这个脚本的行动之前,并期待在控制台后

document.addEventListener("mousedown", (e) => console.log(e));

相关问题