在隐藏的输入元素中使用RobotFramework上传图像

时间:2018-10-26 12:11:13

标签: selenium firefox robotframework selenium-firefoxdriver

由于 hidden =“ hidden” ,我无法使用Robot Framework运行自动测试。

请给我一些解决方法。

HTML代码:

<a _ngcontent-c8="" class="browse cursor-pointer" tabindex="0">Browse</a>        
<input _ngcontent-c8="" id="file" style="border: 1px solid gray; cursor: pointer; margin: 5px; width: 300px;" accept=".png, .jpg, .jpeg, .gif, .tif, .tiff" type="file" hidden="hidden">

2 个答案:

答案 0 :(得分:1)

有一种解决方法-在与元素互动之前,通过javascript使该元素可见:

Execute Javascript    document.getElementById('file'‌​).style.visibility='‌​visible'

更新:

如果要设置与style不同的属性,例如本例中名为hidden的自定义属性,则可以使用其他js方法:

Execute Javascript    document.getElementById('file'‌​).setAttribute('hidden') = 'new_value'

,其中“ new_value”是您知道的那个。

如果您要完全删除它,则呼叫为

Execute Javascript    document.getElementById('file'‌​).removeAttribute('hidden')

答案 1 :(得分:0)

如果像我这样的人仍在为SyntaxErrors挣扎,这是适用于我的setAttribute的正确语法:

Execute Javascript document.getElementById('file'‌​).setAttribute('attributeName', 'attributeValue');

如果您没有id属性:

Execute Javascript document.getElementsByClassName('file'‌​)[0].setAttribute('attributeName', 'attributeValue');

仅供参考:getElementsByClassName方法返回元素数组。