我正在使用selenium来自动执行一些IT管理任务,NAS(我通过内部网页访问)需要更换一些外部驱动器。我认为Web界面使用AJAX来动态地改变屏幕,这通常会让我无法使用selenium在网页中导航。
NAS供应商有一个网络界面的现场演示: http://www.synology.com/us/products/demo/index.php
这与NAS的网络界面完全相同。
任何人都有关于如何浏览此类页面的任何提示? (如何找到clickat()的元素定位器以打开控制面板)。每当我登录时,id似乎随机生成,类似于“target id = ext-gen525”
答案 0 :(得分:1)
您可以使用CSS或XPATH定位器找到元素。 当你的应用程序使用AJAX控件时,在selenium命令之间给出一些等待时间(通过使用适当的等待条件)。
以下是点击“控制面板”然后点击“用户”的示例代码(在演示网络界面中:http://www.synology.com/us/products/demo/index.php)
//After login to http://demo.synology.com:5000
selenium.click("//div[text()='Control Panel']");
Thread.sleep(3000); // Use proper wait conditions
selenium.click("//div[text()='User']");