Selenium obtendo dados de outra guia em vez da ativa
Temos aqui um sistema remoto legado que não possui webapi, webservice, ...
então precisamos fazer a integração pelo Selenium.
Precisamos abrir várias guias de uma guia mestre para fazer a extração, mas ao mudar para a guia desejada e obter valor por um seletor de css, ele sempre obtém o resultado da guia fisrt.
Nosso sistema não pode ser aberto na internet, então eu fiz o mesmo com o Google como exemplo, o mesmo comportamento acontece. É um bug ou é minha culpa? Alguém pode ver o que está errado?
Abaixo está uma versão simplificada sem verificação de erro, seu código mínimo.
Muito obrigado.
public static void testab()
{
IWebDriver driver = new FirefoxDriver();
driver.Navigate().GoToUrl("https://www.google.com/ncr");
IWebElement elmTxt = driver.FindElement(By.CssSelector("input#lst-ib"));
elmTxt.SendKeys("google" + Keys.Enter);
IWebElement elmQtdRes = driver.FindElement(By.CssSelector("div#resultStats"));
string strWebStat = elmQtdRes.Text;
IWebElement elmNewsLnk = driver.FindElement(By.CssSelector("a[href*='tbm=nws']"));
elmNewsLnk.SendKeys(Keys.Control + Keys.Return);
IWebElement elmBdy = driver.FindElement(By.CssSelector("body"));
elmBdy.SendKeys(Keys.Control + "2");
elmQtdRes = driver.FindElement(By.CssSelector("div#resultStats"));
string strNewStat = elmQtdRes.Text;
Console.WriteLine("Stat for WEB:[" + strWebStat + "]"); // prints stat for web - OK
Console.WriteLine("Stat for NEWS:[" + strNewStat + "]"); // prints stat for web - WRONG
}