Witam mam problem z komponentem twebbrowser.
Mianowicie taki iż jest funkcje getelementbyid i niemogę złapać nią buttona facebook "Lubię to"
Próbowałem różnymi funkcjami lecz nie odniosło to pozytywnych rezultatów.I moje pytanie brzmi czy jest możliwość rozwiązania tego problemu?
I moje pytanie brzmi czy jest możliwość rozwiązania tego problemu?
Tak.
Wątek można zamknąć, autor dostał odpowiedź.
A mógłbym prosić o jakaś wskazówkę? bądź rozwiązanie tego problemu?
A mógłbym prosić o jakaś wskazówkę? bądź rozwiązanie tego problemu?
To zależy po co ci 'łapać' ten guzik. Jakbyś opisał dokładnie problem to łatwiej by nam było dokładnie opisać rozwiązanie, nie sądzisz?
Problem polega na "złapaniu" guzika.
wrcode napisał(a):
Problem polega na "złapaniu" guzika.
Dokładny opis problemu FTW!
Dokładny opis jest taki że przez żadną z procedur funkcji typu getlementbyid albo tagname nie da się "złapać" iż id iframe nie jest stałe.
Przez co wywala błąd.
//uses MSHTML;
const
LIKE_TO = 'http://www.facebook.com/plugins/like.php';
var
i: Integer;
doc: IHTMLDocument2;
elem: Variant;
begin
doc:= WebBrowser1.Document as IHTMLDocument2;
if Assigned(doc) then
begin
for i:= 0 to doc.All.Length - 1 do
begin
elem:= doc.All.Item(i, EmptyParam);
if (elem.TagName = 'IFRAME') and (Pos(LIKE_TO, elem.src) = 1) then
begin
elem.Click; //a klikne sobie z radosci
break; //przerywa po pierwszym znalezionym jak chcesz wszytkie na stronie to usun to
end;
end;
end;
end;
Niestety kod nie działa :(
wrcode napisał(a):
Niestety kod nie działa :(
Moja magiczna kula podpowiada że błąd leży w linii 123. Spróbuj go naprawić albo podaj więcej informacji.
Jak nie działa to masz inny przycisk "lubię to" niż ja zrobiłem w każdym razie zasada podobna... no chyba że masz iframe którego źródło wskazuje na dokument który trzeba załadować do WebBrowser i dopiero tam szukać przycisku.
Tak w ogóle dlaczego chcesz to robić właśnie w WebBrowser? Co chcesz osiągnąć?
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.