Работа с кадрами с IE11 Python Selenium - PullRequest
0 голосов
/ 26 апреля 2020

iframe, к которому я хочу обратиться, имеет коды:

<iframe name="AAA" width="100%" height="100" id="BBB" src="/CCC/blank.html" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="height: 399px;" allowtransparency="true" onload="this.height=100;resize();"></iframe>

Я работаю в режиме «ячейка за ячейкой», поэтому я считаю, что это не проблема с «ожиданием». Я уже загрузил страницу. Затем я запускаю код в ячейке.

Я пробовал все это, но ни один из них не работал.

driver.switch_to.frame(0)
driver.switch_to.frame(1)

driver.switch_to.frame(driver.find_element_by_xpath("//iframe[@id='BBB']"))
driver.switch_to.frame(driver.find_element_by_id("BBB"))
driver.switch_to.frame(driver.find_element_by_name("AAA"))

driver.switch_to.frame('AAA')
driver.switch_to.frame('BBB')

Я использовал Chrome для проверки элементов и возврата к IE11. , Я получил RelXPath и AbsXPath для элемента внутри фрейма. Тем не менее, я не могу найти файл с IE11. Я считаю, что это проблема IE11, работающего с фреймами / фреймами. Причина, по которой я создаю свой код с помощью IE11, заключается в том, что я могу получить доступ к базе данных с помощью IE11 только в том случае, если я не использую офисную сеть.

Все дали мне NoSuchElementException, я использую Jupyter Notebook и IE11.

Ниже приведено содержимое таблицы, которое я хочу получить во фрейме:

<table width="100%" border="0" cellspacing="0" cellpadding="0">
                                        <tbody><tr align="center">
                                            <td style="background: rgb(255, 255, 255); border-width: 0px 2px 2px; border-style: solid; border-color: rgb(203, 203, 196); border-image: none; padding-left: 18px;" colspan="2">
                                                <table width="100%" align="left" border="0" cellspacing="1" cellpadding="4">
                                                <tbody><tr align="left" valign="top">
                                                    <td width="17%" class="fontBold">
                                                        Policy Number
                                                    </td>
                                                    <td width="20%">
                                                        1710706
                                                    </td>
                                                    <td>&nbsp;</td>
                                                    <td width="23%" class="fontBold">
                                                        Request Received Date
                                                    </td>
                                                    <td width="20%">
                                                        Jul 28, 2002
                                                    </td>
                                                    <td width="20%" align="center" valign="middle" rowspan="3">
                                                        <a onclick="submitForm('POS1710450285'); return false;" href="javascript:void%200">
                                                            <img width="32" height="32" title="Form/Correspondence" src="/iAES/images/policy/aaa.gif" border="0"><br>
                                                            POS&nbsp;Form / Correspondence
                                                        </a>
                                                    </td>
                                                </tr>


                                                    <tr align="left" valign="top">
                                                        <td class="fontBold">
                                                            Change Type
                                                        </td>
                                                        <td class="SmallFontStyle" colspan="4">
                                                            Others Request
                                                        </td>
                                                    </tr>

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

Я просто хочу получить текст внутри таблицы. Самый простой способ - переключиться на соответствующий iframe. Должен ли я сделать обходной путь, получая текст всех тд на странице и получая любой текст после «номера политики» и до <td class="SmallFontStyle" colspan="4">?

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