我正在用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)
观看卷轴的表演也会很有用。
另外,我想知道我是否可以将这个测试用例的无头执行存储在视频中,这样我就不需要在它检查鼠标是否处于正确位置时观看执行。
1条答案
按热度按时间px9o7tmv1#
而不是显示光标,你可以尝试记录坐标的点击。只要运行这个脚本的行动之前,并期待在控制台后