在watir webdriver中测量表的像素宽度



是否有读取表格像素维度的方法?百分比已显示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文件中定义了这个类:而且,水平调整页面大小之前并没有将表的可见性扩展到830px以上。

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

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

使用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(但我还没有测试)。

旁白:使用Watir,您可以使用以下代码更直接地完成此操作。然而,作为Watir Webdriver的新手,我找不到类似的document()方法。

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

最新更新