Измерение ширины таблицы в пикселях в watir-webdriver - PullRequest
0 голосов
/ 30 января 2012

Есть ли способ прочитать размеры таблицы в пикселях? Процент уже показывает width="100%". Это внутри div, если это помогает вместо этого исследовать.

Я пытаюсь получить ширину, чтобы затем изменить размер окна для снимка экрана png (используя уже доступные функции Watir). В настоящее время, поскольку она показывает собственную горизонтальную полосу прокрутки на странице, таблица усекается только до первых нескольких столбцов на скриншоте, а по вертикали вся страница отображается как обычно, независимо от размера окна браузера.

$browser.div(:id, "ctl27_divDetailFrame").table.row.cells.length

=> 23

показывает мне, что в нем 23 столбца, хотя это может варьироваться.

Я уже немного уменьшил размер шрифта экрана с помощью

$browser.send_keys :home, [:control, "-"], [:control, "-"]

но этого недостаточно, и размер шрифта в любом случае не нужно уменьшать до забвения.

Соскоб источник:

<div id="ctl27_divDetailFrame">
    <div class="detail-table-wrapper">
        <div id="ctl27_pnlPositionsTable">
                        <table class="detail-table w-Positions" border="0" cellpadding="0" cellspacing="0" width="100%">
                            <tr class="detail-table-head">
                                <td><a class="hpc-column-sort SymbolHeadOSI" href="#" name="DetailSymbolHeader">Symbol</a><span class="common_icon-sort-up-orange_png" title="Sorted Ascending" style="margin-left: 3px; vertical-align:middle;"></span></td>
                                <td class="detail-heading-numeric"><a class="hpc-column-sort SymbolHeadOSI" href="#" name="DetailQuantityHeader">Qty</a></td>
.
.
.
                                <td class="detail-non-numeric"> LAST CELL of table </td>

                            </tr>
                        </table>

                    </div>
    </div>

Нигде не вижу явного width="99999px", который я просто смог бы прочитать.

2 ИСПРАВЛЕНИЯ: Этот класс определен в одном из файлов css: А горизонтальная страница изменения размера ранее не расширяла видимость таблицы за пределы 830 пикселей.

   div.detail-table-wrapper
    {
        width: 830px;
        overflow: auto;
        overflow-x: auto;
        overflow-y: hidden;
    }

Так что теперь я хотел бы посмотреть, смогу ли я изменить эти width на ~ 95% с watir-webdriver functions ... (сохраняя его на одном уровне с видимым экраном, который я могу свободно изменить размер)

1 Ответ

1 голос
/ 10 февраля 2012

Используя Watir-Webdriver для Firefox, я смог изменить стиль ширины на 95% с помощью следующего:

$browser.execute_script("document.getElementById('ctl27_divDetailFrame')
      .getElementsByTagName('DIV')[0].style.width='95%';")

Обратите внимание, что локатор основан на образце HTML.В зависимости от того, является ли этот идентификатор согласованным или нет, вам может понадобиться лучший локатор.Например, вы могли бы сделать регулярное выражение для идентификатора, используя http://www.boards.ie/vbulletin/showthread.php?p=59109660 (но я не проверял его).

В сторону: С Watir вы могли бы более прямо сделать это с помощью следующегокод.Однако, будучи новичком в Watir-Webdriver, я не смог найти аналогичный метод document ().

$ie.div(:index, 2).document.style.width = '95%'
...