使用AJAX进行Selenium clickat并随机生成目标ID

时间:2011-12-16 00:30:41

标签: html ajax selenium

我正在使用selenium来自动执行一些IT管理任务,NAS(我通过内部网页访问)需要更换一些外部驱动器。我认为Web界面使用AJAX来动态地改变屏幕,这通常会让我无法使用selenium在网页中导航。

NAS供应商有一个网络界面的现场演示: http://www.synology.com/us/products/demo/index.php

这与NAS的网络界面完全相同。

任何人都有关于如何浏览此类页面的任何提示? (如何找到clickat()的元素定位器以打开控制面板)。每当我登录时,id似乎随机生成,类似于“target id = ext-gen525”

1 个答案:

答案 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']");