是否有读取表格像素维度的方法?百分比已显示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%'