|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » The requested action with this object has failed.: |
|
|
The requested action with this object has failed.:
|
Пользователь Сообщения: 80 |
прога:
берет и экселя значение ссылки , переходит по ней, кликает кнопку "показать номер", копирует значение ссылки, вставляет в ексель, копирует поле с класом person-name , вставляет в ексель. все просто, но !
иногда выпадает ошибка The requested action with this object has failed.: $tags = $oIE.document.GetElementsByTagName("div") $tags = $oIE.document^ ERROR >Exit code: 1 Time: 180.9 и не понятна причина. уже голову сломал ![]() |
|
Отправлено: 21:21, 03-11-2015 |
Новый участник Сообщения: 38
|
Профиль | Отправить PM | Цитировать интересно посмотреть, а links.xlsx файла нет для примера?
|
Отправлено: 22:29, 03-11-2015 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 80
|
Профиль | Отправить PM | Цитировать есть, вот
|
Отправлено: 08:17, 04-11-2015 | #3 |
Пользователь Сообщения: 80
|
Профиль | Отправить PM | Цитировать вот
|
Отправлено: 08:18, 04-11-2015 | #4 |
Пользователь Сообщения: 80
|
Профиль | Отправить PM | Цитировать ой, продублировал
![]() |
|
Отправлено: 08:18, 04-11-2015 | #5 |
Новый участник Сообщения: 38
|
Профиль | Отправить PM | Цитировать Попробуйте этот вариант, поставил разные проверки..
А конкретно Ваша ошибка $tags = $oIE.document.GetElementsByTagName("div") $tags = $oIE.document^ ERROR из-за того что oIE.document не был открыт или с ошибкой ( нет страницы например) можно еще проверять $oIE на то, что он - объект... Код
#include <IE.au3> Local $oExcel = ObjGet("", "Excel.Application") If not IsObj($oExcel) Then $oExcel = ObjCreate('Excel.Application') EndIf Sleep(2000) If IsObj($oExcel) Then $oExcel.Visible = True $oExcel.WorkBooks.Open(@ScriptDir & '\links.xlsx') Sleep(1000) For $i = 1 to 15 Step 1 If not IsObj($oExcel) Then ConsoleWrite ('Excel not found') ExitLoop EndIf ConsoleWrite ( $i & ' ' & $oExcel.Activesheet.Cells($i, 1).Value & @LF) $link = $oExcel.Activesheet.Cells($i, 1).Value $sUrl=$link $oIE=_IECreate($sUrl,0,0,1,1) $oLinks=_IETagNameGetCollection($oIE, 'a') For $oTextArea In $oLinks If StringInStr(_IEPropertyGet($oTextArea, 'outerhtml'), 'Показать номер') Then _IEAction($oTextArea, 'click') Sleep(500) $Var=$oTextArea.href $oExcel.Activesheet.Cells($i,2).Value=$Var ExitLoop EndIf Next $tags = $oIE.document.GetElementsByTagName("div") ;Sleep(2000) if IsObj($tags) Then For $tag in $tags $class_value = $tag.className If $class_value = "person-name" Then ;Sleep(2000) $oExcel.Activesheet.Cells($i,3).Value=_IEPropertyGet($tag, 'innertext') ExitLoop EndIf Next EndIf _IEQuit($oIE) Next Else ConsoleWrite ("Excel is running." & @LF) EndIf ConsoleWrite ("Exit au3." & @LF) |
Отправлено: 14:16, 04-11-2015 | #6 |
Пользователь Сообщения: 80
|
Профиль | Отправить PM | Цитировать спасибо.
но теперь это :
вот вам файл мой(большой). чуть подольше выполняется и падает. может можно какую-то проверку добавить перед $oIE.document.GetElementsByTagName("div") ? добавил if IsObj($oIE) Then ... не помогло ![]() |
Последний раз редактировалось garanov, 04-11-2015 в 21:44. Отправлено: 21:25, 04-11-2015 | #7 |
Пользователь Сообщения: 80
|
Профиль | Отправить PM | Цитировать файл links побольше
|
Отправлено: 21:39, 04-11-2015 | #8 |
Новый участник Сообщения: 38
|
Профиль | Отправить PM | Цитировать Вот попробуй такой вариант.
до 100 пробовал, норм. Скрытый текст
|
Отправлено: 22:44, 04-11-2015 | #9 |
Пользователь Сообщения: 80
|
Профиль | Отправить PM | Цитировать
если убрать ConsoleWrite ( $i & ' ' & $oExcel.Activesheet.Cells($i, 1).Value & @LF) , то ошибка дальше в $link = $oExcel.Activesheet.Cells($i, 1).Value что-то все же с $oExcel.Activesheet.Cells($i, 1).Value. может переполняется какая-то память ? какую бы проверку пихнуть туда.ю чтобы в случае ошибки там, он просто проходил дальше. ![]() |
Отправлено: 08:05, 05-11-2015 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Установка - this application has requested the runtime to terminate it in unusual way | ElmandeRRR | Microsoft Windows 7 | 5 | 04-04-2010 22:10 | |
[решено] Overclocking failed or overvoltage failed при загрузке | kos82 | Непонятные проблемы с Железом | 10 | 21-09-2009 17:54 | |
[решено] object has failed при отправке на e-mail | morgan1991 | AutoIt | 2 | 09-04-2009 14:33 | |
V. 5.5/2000/2003 - [решено] Failed to grant permission for DOMAIN\user on this object... | solon | Microsoft Exchange Server | 7 | 26-11-2008 07:52 | |
ERROR The requested URL could not be retrieved | Danieeelll | Microsoft Windows NT/2000/2003 | 7 | 28-02-2004 16:53 |
|