我知道以前已经回答过。但是我找不到任何答案,如何获得弹出窗口的定位器。 从本地系统将文件上传到GUI时,仍然出现错误。
我正在通过键盘错误无法访问元素。 有人可以上传这个视频-观看机器人框架文件上传的视频教程。 (Robot Framework File Upload)
即使我尝试使用AutoIT。我可以创建一个au3文件以及一个exe文件。但是我无法使用Python脚本在我的机器人框架中调用此au3 / exe文件。
有人可以指导吗?
答案 0 :(得分:0)
请勿单击打开文件选择器窗口的按钮,而应通过检查页面找到<input>
元素,并直接将其定位符与Choose File
关键字一起使用。
例如在Stack Overflow上,如果要编辑问题并上传图像,则应使用<input type="text" class="s-input" id="image-upload-url-input-55038357">
元素。在被测页面上搜索相似的元素。
<div class="grid--cell grid fl-grow1 ai-baseline sm:fd-column sm:ai-stretch d-none js-url-input-container">
<label class="s-label mr8 sm:mr0 sm:mb4" for="image-upload-url-input-55038357">Paste image or link:</label>
<div class="fl1 ps-relative">
<input type="text" class="s-input" id="image-upload-url-input-55038357">
</div>
<button class="s-btn sm:as-start js-cancel-url">Cancel</button>
</div>
要给您示例代码,以下代码段将以任务用户的身份导航至该问题,并将上载Capture.PNG(不保存)。请注意上一个输入元素的定位符//*[contains(@id, 'image-upload-file-input')]
。
*** Settings ***
Library SeleniumLibrary
*** Variables ***
${EDIT QUESTION ELEMENT} improve this question
${UPLOAD IMAGE BUTTON} //*[contains(@id, 'wmd-image-button')]
*** Test Cases ***
File Upload Test
Open Browser https://stackoverflow.com/questions/55038357/robot-framework-file-upload-getting-element-not-reachable-error Chrome
Maximize Browser Window
Click Link ${EDIT QUESTION ELEMENT}
Click Element ${UPLOAD IMAGE BUTTON}
Choose File //*[contains(@id, 'image-upload-file-input')] D:\\Capture.PNG
Click Button Add picture