有没有办法读取表格的像素尺寸?百分比已显示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 CORRECTIONs:在其中一个css文件中定义了这个类: 并且,水平调整大小页面之前并没有将表格的可见性扩展到830px之外。
div.detail-table-wrapper
{
width: 830px;
overflow: auto;
overflow-x: auto;
overflow-y: hidden;
}
所以现在我想看看我是否可以将宽度从 watir-webdriver 函数更改为~95%...(使其与可见内联保持一致屏幕,我可以自由调整大小)
答案 0 :(得分:1)
使用Watir-Webdriver for Firefox,我可以使用以下内容将宽度样式更改为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%'