Вложенная HTML-таблица не загружена в документ - PullRequest
0 голосов
/ 17 марта 2019

При нажатии кнопки на странице с использованием кода VBA HTML-таблица загружается на той же странице, но не может получить информацию о таблице с использованием кода VBA. Когда я обновляю страницу, вручную нажимая «Enter Key» в keyboad, я могу получить информацию о таблице, используя код VBA. Пожалуйста, помогите мне, как получить информацию о вложенной таблице со страницы автоматически, используя код VBA Пожалуйста, дайте мне знать, если требуется дополнительная информация.

Окно VBA Immediate

<tr>
                        <td width="49%">


                            </td>

                        </tr>
                        </tbody></table>
                        </td>
                </tr> </tbody></table>
            </td></tr></tbody></table>

Код VBA

Set btn = htmldoc.getElementById("ctl00_ContentPlaceHolder1_btnList")
btn.Click

Sleep (3000)

'waitForLoad ie
Set mybrowser = Nothing
Set mybrowser = FindWindow("rasp/CaseDetails.aspx")
Set htmldoc = mybrowser.Document

Debug.Print (htmldoc.body.innerHTML)

HTML-код

<tr>
                    <td width="49%">

                        <table cellspacing="0" cellpadding="4" align="Right" rules="cols" border="1" id="ctl00_ContentPlaceHolder1_grdData" style="width:100%;text-decoration:none;height:11px;font-weight:normal;font-style:normal;font-size:10px;font-family:Verdana;color:Black;border-width:1px;border-style:None;border-color:#DEDFDE;background-color:White;border-collapse:collapse;">
<tr style="color:White;background-color:#6B696B;font-family:Verdana;font-size:10px;font-weight:bold;height:11px;width:30px;">
    <td>Caseno</td><td>CaseDate</td><td>Status</td><td>Referenceno</td><td>Custname</td><td>MobileNo</td><td>Serialno</td><td>Brand</td><td>Model</td><td>ModelDesc</td><td>Popdate</td><td>SympCode1</td><td>SympCode2</td><td>SympCode3</td>
</tr><tr valign="top" style="background-color:#F7F7DE;font-family:Verdana;font-size:10px;height:16px;width:30px;">
    <td><a href = frmView.aspx?jokey=3146288 target = _blank>0003146288</a></td><td>02/27/2019</td><td>Closed</td><td>&nbsp;</td><td>MUHAMMAD AHAMED</td><td>0096599720991</td><td>VNF3D18318</td><td>HPIPGCONS</td><td>G3Q35A</td><td>HP LaserJet Pro M102w Prntr</td><td>06/09/2018</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>
</tr><tr valign="top" style="background-color:White;font-family:Verdana;font-size:10px;height:16px;width:30px;">
    <td><a href = frmView.aspx?jokey=3146300 target = _blank>0003146300</a></td><td>02/27/2019</td><td>Closed</td><td>&nbsp;</td><td>BURHAN TECHNOLOGY COMPUTER CO</td><td>0096598545714</td><td>CN88Q4R0C0</td><td>HPIPGCONS</td><td>G1X85A</td><td>HP Officejet 7612 WF e-All-in-</td><td>09/27/2018</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>
</tr><tr valign="top" style="background-color:#F7F7DE;font-family:Verdana;font-size:10px;height:16px;width:30px;">
    <td><a href = frmView.aspx?jokey=3146378 target = _blank>0003146378</a></td><td>02/27/2019</td><td>Waiting for stock</td><td>&nbsp;</td><td>LEAFIN INTERNATIONAL</td><td>0096550987136</td><td>U310C5BZ</td><td>Lenovo</td><td>65BA</td><td>LENOVO LI2054A Wide LCD Mon</td><td>01/09/2019</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>
</tr><tr valign="top" style="background-color:White;font-family:Verdana;font-size:10px;height:16px;width:30px;">
    <td><a href = frmView.aspx?jokey=3146446 target = _blank>0003146446</a></td><td>02/27/2019</td><td>Closed</td><td>&nbsp;</td><td>MOHAMMED IQBAL</td><td>0096597217552</td><td>VNBNKDJFF5</td><td>HPIPGCONS</td><td>T6B82A</td><td>HP Color LaserJet Pro MFP M281</td><td>12/18/2017</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>
</tr><tr valign="top" style="background-color:#F7F7DE;font-family:Verdana;font-size:10px;height:16px;width:30px;">
    <td><a href = frmView.aspx?jokey=3146572 target = _blank>0003146572</a></td><td>02/28/2019</td><td>Waiting for stock</td><td>&nbsp;</td><td>CORE COME INTERNATIONAL</td><td>0096599143374</td><td>MP1EDCW0</td><td>Lenovo</td><td>IDEAPAD V330-14IKB</td><td>LENOVO V330-14IKB</td><td>10/17/2018</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>
</tr><tr valign="top" style="background-color:White;font-family:Verdana;font-size:10px;height:16px;width:30px;">
    <td><a href = frmView.aspx?jokey=3146651 target = _blank>0003146651</a></td><td>02/28/2019</td><td>Closed</td><td>DOA</td><td>EUREKA HAWALLY</td><td>0096566212648</td><td>MP1D8K4Y</td><td>Lenovo</td><td>IDEAPAD 520-14IKB</td><td>LENOVO YOGA 520-14IKB</td><td>02/27/2019</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>
</tr><tr valign="top" style="background-color:#F7F7DE;font-family:Verdana;font-size:10px;height:16px;width:30px;">
    <td><a href = frmView.aspx?jokey=3146901 target = _blank>0003146901</a></td><td>02/28/2019</td><td>Closed</td><td>&nbsp;</td><td>SAKR ATTAI ZEDAIN</td><td>0096569335053</td><td>CN84H2G0Q2</td><td>HPIPGCONS</td><td>Z4B53A</td><td>HP Ink Tank WL 415 AiO Printer</td><td>08/19/2018</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>
</tr><tr valign="top" style="background-color:White;font-family:Verdana;font-size:10px;height:16px;width:30px;">

Ответы [ 2 ]

0 голосов
/ 23 марта 2019

Моя проблема была решена.Я поместил свой код в ожидании, пока документ полностью не загрузится.После того, как документ полностью загружен, я могу получить доступ к таблице.Спасибо за вашу помощь.

0 голосов
/ 19 марта 2019

Было бы полезно, если бы вы могли опубликовать URL.

HTML-код, который вы разместили, откуда вы его скопировали?

Имейте в виду, что когда вы right-click на странице и View Page Source Code, вы можете получить другой результат, чем тот, который вы получите по Inspect Element.

Я могу толькоПредположим, что в вашем случае происходит то, что ваш код возвращает HTML-файл, доставленный вашему браузеру до того, как произойдет какая-либо манипуляция с DOM.

Другими словами, содержимое интересующей вас таблицы заполняется сценарием, и ваш код загружает HTML, прежде чем этот сценарий вступит в силу.

Это эквивалентноView Page Source Code.Это может объяснить, почему полученная вами таблица пуста.

В любом случае вы должны научиться работать с HTTP-запросами, чтобы получать нужные данные вместо использования IE.Есть много сообщений о том, как это сделать, и это сделает вашу жизнь намного проще.

Я предлагаю перейти на этот сайт, открыть инструменты веб-разработчика вашего браузера и проверить сетевой трафик (ctrl+Shift+E, есливы используете firefox), когда нажимаете эту кнопку.

Найдите ответ на запрос, который содержит интересующие вас данные и оттуда будут работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...