Cześć wszystkim,
Mam drobny problem, który, jestem przekonany, dla Was będzie błahostką :)
W swoim programie wielokrotnie korzystam z metody GetAttribute. Poniżej pseudokod:
IHTMLDocument3 doc3 = (IHTMLDocument3)wb.Document;
IHTMLElement elem;
string a, b;
elem= doc3.GetElementById("jakieśtamID");
a= elem.GetAttribute("src");
b= elem.GetAttribute("style");
I tu pojawia się problem. Konkretnie badanym przeze mnie elementem jest jakiś obrazek.
Jego źródło ("src") bez żadnej konwersji bez problemu zapisuje się w stringu.
Niestety ("style") zupełnie nie chce się poddać temu procesowi, nawet jeżeli napiszę
b = Convert.ToString(elem.GetAttribute("style"));
W pierwszym przypadku (bez konwersji), program się kompiluje, ale podczas wykonywania wyskakuje błąd, że COM element nie da się zapisać do stringu.
W drugim przypadku wszystko działa, tyle, że w sposób bezuzyteczny. b otrzymuje wartość "System._ComObject".
Po zastosowaniu funkcji "inspect element" w Operze, okazuje się, że ten konkretny element z którym akurat mam problem wygląda tak:
<img id="img_chessboard_11606_a3" class="chessboard_11606_piece chess_com_piece chess_com_draggable" style="position: absolute; top: 265px; left: 0px; margin: 0px; padding: 0px; display: block; width: 53px; height: 53px; z-index: 10; -webkit-transform: translateZ(0px);" src="//images.chesscomfiles.com/chess-themes/pieces/classic/53/wp.png">
Chciałbym otrzymać stringa
"position: absolute; top: 265px; left: 0px; margin: 0px; padding: 0px; display: block; width: 53px; height: 53px; z-index: 10; -webkit-transform: translateZ(0px);"
Macie sugestie jaką inną metodę mógłbym zastosować? Przyszło mi do głowy cały dokument przerobić na stringa, a potem go przeszukiwać, ale wydaje mi się, że to strasznie bez sensu.
z góry dzięki :)
edit: nie umiem skonwertować dokumentu do stringa, więc tym bardziej potrzebuję pomocy ;( przeszukiwanie stringa będzie mało fajne, ale przynajmniej jest to jakieś rozwiązanie. Więc jeżeli ktoś wie jak skonwertować źródło strony z iWebBrowserApp do stringa, to również będę wdzięczny
edit2: znalazłem rozwiązanie, przepraszam za kłopot. w razie gdyby ktoś miał podobny problem:
string s = elem.outerHTML;
sprawa rozwiązana :) Oczywiście dostajemy troszkę więcej niż samo "style" ale reszta to już tylko operacje na stringach