User since
2007-09-07
2
Artikel
BenutzerIn
Hallo,
ich habe eine Problem mit IEAutomation.
use strict;
use win32::IEAutomation;
my $ie = Win32::IEAutomation->new(visible=>1, maximize=>1);
$ie->gotoURL('xxxxxxxxxxxxxxxxxx');
$ie->getSelectList('name:', 'edb.countryid')->SelectItem("Germany");
$ie->getButton('name:',"edb.searchstart")->Click;
$ie->getSelectList('name:', 'edb.cpp')->SelectItem("Alle");
$ie->getButton('name:', "edb_action_NewSearchresult")->Click;
@atbl = $ie->getAllTables;
for my $a (@atbl){
my @allRows = $a->rows;
for my $in(@allRows){
my @allCell = $in->cells;
for my $y (@allCell){
print $y->cellText;
}
}
}
bekomme jedoch die Fehlermeldung:
Can't locate object method "rows" via package
"Win32::IEAutomation::Element" at C:\Documents and Settings\xxxx
\Desktop\mechanize_tests\iebiofach.pl line 19.
ich verstehen das nich. Alle andere Methode des Moduls funktionieren enwandfrei.
Jeder Hilfr ist willkommen.
grüße.
Xaver
User since
2003-08-04
14371
Artikel
ModeratorIn
Das ist ein Fehler in Win32/IEAutomation.pm...
In der Funktion
getAllTables muss es statt
my $link_object = Win32::IEAutomation::Element->new();
einfach
my $link_object = Win32::IEAutomation::Table->new();
heißen. Dann sollte es gehen...
User since
2007-09-07
2
Artikel
BenutzerIn
Hallo und danek für die Antwort,
Ich habe mal eniges versucht, jedoch bekomme überall Fehlermeldungen. Eine davon:
Win32::OLE operating in debugging mode: _Unique => 1
Can't call method "rows" on an undefined value at C:/Perl/site/lib/Win32/IEAutomation/Table.pm line 28.
jedoch ist metkwürdig, denn ich habe mal testweise ein
my @atbl = $ie->getAllTables;
for my $a (@atbl){
print $a;
}
versucht und die ausgabe ist voll von Objekte Referenzen:
Ausgabe:
Win32::OLE operating in debugging mode: _Unique => 1
Win32::IEAutomation::Table=HASH(0x20c7888)Win32::IEAutomation::Table=HASH(0x20c7768)Win32::IEAutomation::Table=HASH(0x20c7a14)Win32::IEAutomation::Table=HASH(0x20c7a98)Win32::IEAutomation::Table=HASH(0x20c7b34)Win32::IEAutomation::Table=HASH(0x20c7bd0)Win32::IEAutomation::Table=HASH(0x20c7c6c)Win32::IEAutomation::Table=HASH(0x20c7d08)Win32::IEAutomation::Table=HASH(0x20c7da4)Win32::IEAutomation::Table=HASH(0x20c7e40)Win32::IEAutomation::Table=HASH(0x20c7edc)Win32::IEAutomation::Table=HASH(0x20c7f78)Win32::IEAutomation::Table=HASH(0x20c8014)Win32::IEAutomation::Table=HASH(0x20c80b0)Win32::IEAutomation::Table=HASH(0x20c814c)Win32::IEAutomation::Table=HASH(0x20c81e8)Win32::IEAutomation::Table=HASH(0x20c8284)Win32::IEAutomation::Table=HASH(0x20c8320)Win32::IEAutomation::Table=HASH(0x20c83bc)Win32::IEAutomation::Table=HASH(0x20c8458)Win32::IEAutomation::Table=HASH(0x1fb6850)
Grüße.
Xaver
User since
2003-08-04
14371
Artikel
ModeratorIn
Versuch auch mal die nächste Zeile zu ändern in:
$link_object->{table} = $links->item($n);
(statt
$link_object->{element})
User since
2003-08-04
14371
Artikel
ModeratorIn
Übrigens heißt das Modul
Win32::IEAutomation... (mit großem "W")