【发布时间】:2016-10-03 22:27:55
【问题描述】:
我刚刚完成了一个测试脚本并访问了一个相当动态的页面。有问题的页面会出现一个元素(通常是单选按钮或复选框),该元素仅在满足前几页中的某些条件时才会出现。因此,我的测试将访问此页面,与以前的标准无关,我想在处理这些元素“如果”出现时点击页面底部的“继续”元素。我有一些方法可以按 ID 点击元素,到目前为止有以下代码:
// Selects the "Confirm" button
IWebElement radioOption = mWebDriver.FindElement(By.Id("Radio_Button_Id"));
if (radioOption.Displayed)
{
this.ClickElementById("Radio_Button_Id");
// Clicks CONTINUE
this.ClickElementById("CONTINUE");
}
else
{
// Selects CONTINUE
this.ClickElementById("CONTINUE");
}
我正在尝试在此代码中处理此问题,如果出现单选按钮,请选择它,然后选择继续按钮。此外,如果单选按钮未出现,请忽略它并选择继续按钮。对此的任何帮助将不胜感激。
【问题讨论】:
-
太好了,你已经解释了你正在尝试做什么,你现在正在做什么,但是你还没有解释为什么现在这不起作用?这段代码有什么作用?你期待它做什么?
-
我是新手,因为您还处于某个阶段。目前我已经设置了一个正在返回的“没有这样的元素”异常,链接到“Radio_Button_Id”。如果元素不存在,这会在代码 sn-p 的开头标记。我期待代码查找元素,如果不存在则忽略它,如果存在则捕获并选择它>然后选择“继续”。
-
你的想法是正确的......尝试实现它:)
标签: c# selenium webdriver selenium-webdriver