0

有没有办法读取表格的像素尺寸?百分比已经显示 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;
    }

所以现在我想看看我是否可以通过watir-webdriver函数将该宽度更改为 ~ 95% ...(使其与可见屏幕保持一致,我可以自由调整其大小)

4

1 回答 1

1

使用 Firefox 的 Watir-Webdriver,我可以将宽度样式更改为 95%,如下所示:

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

请注意,定位器基于 HTML 示例。根据该 ID 是否一致,您可能需要更好的定位器。例如,您可以使用http://www.boards.ie/vbulletin/showthread.php?p=59109660为 ID 做一个正则表达式(但我没有测试过)。

另外:使用 Watir,您可以使用以下代码更直接地执行此操作。但是,作为 Watir-Webdriver 的新手,我找不到类似的 document() 方法。

$ie.div(:index, 2).document.style.width = '95%'
于 2012-02-09T20:42:00.990 回答