我正在尝试在我正在测试的网页上上传文件。 Capybara中的attach_file方法在这里不起作用。原因是上传功能使用名为file-uploader here的JS库。
我实际上可以调用鼠标点击以打开Finder窗口(在Mac OS中)以允许我选择要打开的文件,但是我不确定如何在此窗口中工作。基本上我想从我的桌面选择一个文件,然后点击“打开”。
我有办法在这个窗口中工作,只需按名称选择一个文件然后点击“打开”吗?
我在Firefox工作。
将文件从我的桌面拖到div中也可以,但我也找不到在Capybara中这样做的方法。
谢谢。
答案 0 :(得分:0)
Selenium是一款浏览器自动化工具&因此,不可能与操作系统的其他组件进行任何交互。一旦浏览器打开文件打开/查找器窗口,它就不再是您正在与之交互的浏览器。有一些工具可以处理它们,但我不熟悉,不能给出详细的回复。谷歌机器人框架,或启动器的AutoIt。
或者,因为它是一个处理上传的JS库,你可以使用JavascriptExecutor直接调用库函数,这不会模拟用户体验,但可能已经足够了你的障碍。