t.me/atinfo_chat Telegram группа по автоматизации тестирования

Не могу достать текст из meta тэгов


(metr95) #1

Всем привет.

 
Не могу достать язык страницы из <meta http-equiv="Content-Language" content="EN" />
 
И XPath вроде правильный
string strLang = driver.FindElement(By.XPath("//meta[@http-equiv='Content-Language']/@content")).ToString();
 
Проверял через XPath Checker в firefox'e, там все находит.
а при прогонке скрипта говорит:
Unable to find element with xpath == //meta[@http-equiv='Content-Language']/@content
 
WebDriver/C#
 
Помогите, кто чем может =)
 
Спасибо.

(Дмитрий Жарий) #2

Сначала найдите этот мета елемент:

var webElement = driver.FindElement(By.XPath("//meta[@http-equiv='Content-Language']"));

потом возьмите у него аттрибут content 

 

Console.WriteLine(webElement.GetAttribute("content"))


(metr95) #3

да. уже как-то так и раешил.

 

List<IWebElement> lstMeta = driver.FindElements(By.XPath("//meta")).ToList();
            for (int i = 1; i <= lstMeta.Count; i++)
            {
                try
                {
                    strMetaContentType = lstMeta[i].GetAttribute("http-equiv").ToString();
                }
                catch { }
 
                if (strMetaContentType.Contains("Content-Language"))
                {
                    strLang = lstMeta[i].GetAttribute("content");
                    Console.WriteLine(strLang);
                    break;
                }
            }
 
через driver.FindElement(By.XPath("//meta[@http-equiv='Content-Language']")); не хочет искать.