Я использую объект IE в своем приложении, поэтому мне нужно использовать mshtml для взаимодействия с документом IE.Но у меня есть несколько проблем:
I.Использование element.innerText/innerHTML/outerText/outerHTML
возвращает className
.Вот пример кода:
public SHDocVw.InternetExplorer internetExplorer = new SHDocVw.InternetExplorer();
<...>
foreach (mshtml.HTMLSpanElement element in webBrowser.Document.GetElementsByTagName("SPAN"))
{
if (category.className == "classNameNeeded") //ClassName returns className
{
if (category.innerText == "InnerTextNeeded") //InnerText too
{
webBrowser.Navigate(category.parentElement.getAttribute("HREF"));
return true;
}
}
}
return false;
Итак, мое приложение работает некорректно
II.Использование getElementById
возвращает DBNull
вместо элемента на веб-странице.Я полностью уверен, что на веб-странице есть такой элемент.Пример кода:
if(!webBrowser.Document.getElementById("IdNeeded").Equals(DBNull.value)){
<...>
}
Я думаю, что эта проблема связана с HTML-кодом страницы и ее разбором.
Как я могу решить эти проблемы?
Заранее спасибо.