Что нового

Получить значение из таблицы

TwDY

Новичок
Сообщения
13
Репутация
0
Добрый день, подскажите пожалуйста, у меня сейчас скрипт получает номер из файла
Код:
#include <IE.au3>
#include <Excel.au3>
$oExcel = _ExcelBookAttach(@ScriptDir & "\test.xls")
$sCellValue = _ExcelReadCell($oExcel, 5, 5)
If WinExists("Back Office") Then
	WinClose("Back Office", "")
EndIf
$oIE = _IECreate("http://"); 
WinSetState("Back Office", "", @SW_MAXIMIZE) ;
Do
    $oIE = _IEAttach("Back Office") ; Определить объект страницы
	$oForms1 = _IEFormGetCollection ($oIE)
Until @extended = 2; 

$oIE = _IEAttach("Back Office") ; Определить объект страницы
_IELoadWait ($oIE); Дождаться загрузки страницы



$oForm = _IEFormGetObjByName ($oIE, "searchForm") ; 
$oText = _IEFormElementGetObjByName ($oForm, "{sharedFlow.searchFormController.number}"); 
_IEFormElementSetValue ($oText, $sCellValue) ;
_IEFormSubmit ($oForm, 0) ; 
$oIE = _IEAttach("Back Office") ; Определить объект новой страницы
_IELoadWait ($oIE); Дождаться загрузки страницы
;WinActivate ("Back Office", "")
$oForm1 = _IEFormGetObjByName ($oIE, "detalisationPage.detalisationForm"); 
$oQuery1 = _IEFormElementGetCollection ($oForm1, 7) ;

$oQuery2 = _IEFormElementGetCollection ($oForm1, 3) ; Кнопка "Показать"

_IEAction ($oQuery1, "click") ; 
_IEAction ($oQuery2, "click") ; Нажать кнопку "Показать"
_IELoadWait ($oIE); Дождаться загрузки страницы


Как можно получить значение Основного баланса из td и, для нескольких номеров, записать их в тот же файл?
Код:
<td valign="top" class="page-content-table" style="width: 35%">
         <table id="availableBalancesTable" class="page-content-section" cellpadding="2" cellspacing="2">
            <tr style="font-weight: bold">
               <td>Основной баланс</td>
               <td>349,6100 руб</td>
               <td>01.01.0001</td>
            </tr>
            <tr>
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
TwDY сказал(а):
Как можно получить значение Основного баланса из td
Код:
$oTable = _IEGetObjById($oIE, "availableBalancesTable")
$aTableData = _IETableWriteToArray ($oTable, True)
;_ArrayDisplay($aTableData)
MsgBox(0, "баланс", $aTableData[0][1]&@CRLF&$aTableData[0][2])


TwDY сказал(а):
записать их в тот же файл
Код:
_ExcelWriteArray
_ExcelWriteCell
 
Автор
T

TwDY

Новичок
Сообщения
13
Репутация
0
А если у таблицы нет id и name, как можно найти ее содержимое?Грубо говоря, если вот так выглядит

Код:
<td valign="top" class="" style="width: 20%">
         <table class="" cellpadding="2" cellspacing="2" width="100%">
            <tr>
               <td colspan="2" style="font-weight: bold;"></td>
            </tr>
            <tr>
               <td></td>
               <td></td>
            </tr>
            <tr>
               <td></td>
               <td></td>
            </tr>
         </table>
      </td>
 
Автор
T

TwDY

Новичок
Сообщения
13
Репутация
0
Можно поподробнее?Есть какая-нибудь функция для этого?


Добавлено:
Сообщение автоматически объединено:

А все, вроде нашел. Спасибо
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
TwDY сказал(а):
Есть какая-нибудь функция для этого?
Код:
_IETableGetCollection

Код:
$oTable = _IETableGetCollection($oIE, 0); получить объект на первую таблицу
$oTable = _IETableGetCollection($oIE, 1); получить объект на вторую таблицу

индекс начинается с нуля.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,323
TwDY,
Предупреждение За нарушение правил форума (пункт В.11):
Любые отрывки AutoIt кода необходимо заключать в тег [autoit]
autoit.gif
(подробнее), а обычный код соответственно в тег [code]
code.gif
(подробнее). Также большие выдержки текста помещайте под тег [spoiler]
spoiler.gif
(подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


С уважением, ваш Глобальный модератор.
 
Верх