Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Selenium 硒中的动态元素_Selenium - Fatal编程技术网

Selenium 硒中的动态元素

Selenium 硒中的动态元素,selenium,Selenium,在GUI中,有一个下拉列表,其中几乎没有值。当我们选择每个值时,将显示新元素。下拉列表中的元素是特定于基金和特定于计划的。如果我选择基金,那么我将获得与基金相关的元素,如基金编号、金额等。如果我选择计划,那么我将获得计划名称、计划编号、金额。我使用关键字驱动的框架。如何处理这个动态生成的元素?请帮忙解决这个问题。 这是一页中的情况。我在很多页上都有这样的文章 我认为您已经知道答案,您正在传递的值是您的实际测试数据,并且您已经知道的预期数据是动态元素或动态值。我肯定会写switch语句来验证预期的

在GUI中,有一个下拉列表,其中几乎没有值。当我们选择每个值时,将显示新元素。下拉列表中的元素是特定于基金和特定于计划的。如果我选择基金,那么我将获得与基金相关的元素,如基金编号、金额等。如果我选择计划,那么我将获得计划名称、计划编号、金额。我使用关键字驱动的框架。如何处理这个动态生成的元素?请帮忙解决这个问题。
这是一页中的情况。我在很多页上都有这样的文章

我认为您已经知道答案,您正在传递的值是您的实际测试数据,并且您已经知道的预期数据是动态元素或动态值。我肯定会写switch语句来验证预期的数据应该基于实际的传递值,比如传递fund,switch语句使用fund关键字并等待元素出现在页面上

这段代码将等待元素

元素=等待。直到(预期条件) .被发现的元素的存在(由)


我建议在评论中添加一些代码,以提供更准确的答案

因此,我有这个代码用于不同的操作。public void perform(){WebElement WebElement;switch(this.action){case“EnterText”:System.out.println(“EnterText”);WebElement=findObject();WebElement.sendKeys(this.value);}break;case“Click”:System.out.println(“Click”);WebElement=findObject();WebElement.Click();break;case“Select”:System.out.println(“Select”);webElement=findObject();Select=new Select(webElement);Select.selectByVisibleText(this.value);break;在上面的代码中,我需要在select语句中添加特定于基金和计划的逻辑。?是的,您需要添加逻辑,您不知道动态值何时会出现在页面上,可以是在2秒或20分钟内,您需要添加我在上面发布的预期条件,它等待您可以决定的特定时间,然后等待。是的,您需要d添加值,该值将决定您要做什么。如果您正在传递fund,则切换函数将转到fund函数,并检查您期望的值。