我想记录用户Web驱动程序的操作,例如浏览站点和单击按钮。
我一直在使用python模块Selenium进行网络自动化,并希望找到使用Selenium EventFiringWebDriver AbstractEventListener解决方案,但我只能记录脚本本身完成的操作。
from selenium.webdriver import Chrome
from selenium.webdriver.support.events import EventFiringWebDriver, AbstractEventListener
from time import sleep
class MyListener(AbstractEventListener):
def before_navigate_to(self, url, driver):
print("Before navigate to %s" % url)
def after_navigate_to(self, url, driver):
print("After navigate to %s" % url)
def before_click(self, element, driver):
print("clicked on %s" %element)
def main():
driver = Chrome(executable_path=r"C:\Users\user1\Downloads\chromedriver_win32\chromedriver.exe")
ef_driver = EventFiringWebDriver(driver, MyListener())
ef_driver.get("http://www.google.co.in/")
ef_driver.get("http://www.facebook.com/")
sleep(20)
if __name__ == "__main__":
main()
我希望脚本在计算机上运行,并且在其运行时记录所有Web驱动程序事件,因此,如果打开了驱动程序,则将其记录下来,如果将网站导航至其记录,如果单击了按钮,则可以记录下来使用这些日志,然后将其转换为小型自动化。例如,我启动脚本并打开chrome浏览器,然后进入youtube并播放我最喜欢的播放列表,然后结束脚本,所有这些操作都会被记录下来,并且可以由我重新运行