【发布时间】:2017-12-03 14:14:49
【问题描述】:
我正在测试一个股票网站
我在每只股票的页面上都有一个特定的“时钟”,显示该股票当前是否开市/收市
closed : class="inlineblock redClockBigIcon middle isOpenExchBig-1"
opened : class="inlineblock greenClockBigIcon middle isOpenExchBig-1014"
唯一的属性是“类”。我想使用“if”语句以便区分它们,我尝试在“关闭”状态下运行它(请参阅下面的代码'Check',距底部 12 行) .
第三次循环抛出异常:
org.openqa.selenium.NoSuchElementException: 没有这样的元素
为什么?请问我该如何解决?
public static void main(String[] args) throws InterruptedException {
System.setProperty("webdriver.chrome.driver", "C:\\automation\\drivers\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("https://www.investing.com");
driver.navigate().refresh();
driver.findElement(By.cssSelector("[href = '/markets/']")).click();;
// list |
int size = 1;
for (int i = 0 ; i < size ; ++i) {
List <WebElement> list2 = driver.findElements(By.cssSelector("[nowrap='nowrap']>a"));
//Enter the stock page
size = list2.size();
Thread.sleep(3000);
list2.get(i).click();
**//Check**
WebElement Status = null;
if (Status == driver.findElement(By.cssSelector("[class='inlineblock redClockBigIcon middle isOpenExchBig-1']")))
{
System.out.println("Closed");
}
// Print instrument name
WebElement instrumentName = driver.findElement(By.cssSelector("[class='float_lang_base_1 relativeAttr']"));
System.out.println(instrumentName.getText());
Thread.sleep(5000);
driver.navigate().back();
}
}
}
【问题讨论】:
-
你能把你的html粘贴到这里吗?
标签: if-statement selenium-webdriver qwebelement