我用红宝石、cucumber和水豚。
我的html看起来像这样:
<tr>
<th>
Promotion codes
</th><td><div class="t-zone" id="promocodesZone">
<span style="display: inline-block;">
<span class="field"><label class="field-label">File name:
<span style="text-transform: none;" class="status-ok"></span></label></span>
<span class="field"><label class="field-label">Codes available:
<span style="text-transform: none;" class="status-ok">0</span></label></span>
<span class="field"><label class="field-label">Codes used:
<span style="text-transform: none;" class="status-ok"></span></label></span>
<span class="field"><label class="field-label">Codes uploaded on:
<span style="text-transform: none;" class="status-ok"></span></label></span>
</span>
<div style="margin-bottom: 15px;"><div class="t-upload">
<div id="promocodesUpload">
<div class="qq-uploader">
<div class="qq-upload-drop-area" style="display: none;"><span>Drop </span></div>
<a class="qq-upload-button btn" style="position: relative; overflow: hidden; direction: ltr;">Upload
<input type="file" name="file" style="position: absolute; right: 0px; top: 0px; font-family: Arial; font-size: 118px; margin: 0px; padding: 0px; cursor: pointer; opacity: 0;"></a>
<ul class="qq-upload-list"></ul></div></div>
</div>
</div>
</div>
</td>
</tr>
基本上,我需要做的是通过点击“上传”链接上传文件:
<a class="qq-upload-button btn" style="position: relative; overflow: hidden; direction: ltr;">Upload<input type="file" name="file" style="position: absolute; right: 0px; top: 0px; font-family: Arial; font-size: 118px; margin: 0px; padding: 0px; cursor: pointer; opacity: 0;"></a>
但我一直失败,因为水豚无法找到必要的元素。。。我已经尝试了很多东西:
attach_file('//*[@id="promocodesUpload"]/div/a/input', File.absolute_path($campaign_promotional_code_path))
结果:找不到文件字段“/*[@id=\“promocodesUpload\”]/div/a/input”(Capybara::ElementNotFound)
和
within(:xpath, '//*[@id="promocodesUpload"]/div/a') do
attach_file("input", File.absolute_path($campaign_promotional_code_path))
end
结果:无法找到文件字段“输入”(Capybara::ElementNotFind)
和
attach_file("Upload", File.absolute_path($campaign_promotional_code_path)
结果:找不到文件字段“Upload”(Capybara::ElementNotFound)
和
click_link("Upload")
结果:找不到链接“Upload”(Capybara::ElementNotFound)
和
有什么帮助吗?:)
如果您的网页上有jQuery:
page.execute_script("$('input[name=file]').css('opacity','1')")
如果您的网页上没有jQuery:
page.execute_script("document.getElementsByName('file')[0].style.opacity = 1")
Capybara找不到文件输入,因为它的不透明度为0,所以它隐藏在页面上。-最好是使用execute\u脚本修改file inputs style属性,使其在调用attach\u file之前可见
尝试以下操作:
page.driver.browser.all(:xpath, '//input[@name="file"]')[0].send_keys('/home/userA/Desktop/chivalry-medieval-warfare.jpg')
或:
page.driver.browser.all(:xpath, '//input[@type="file"]').last.send_keys('/home/userA/Desktop/chivalry-medieval-warfare.jpg')
我只是在用java阅读输入文件,直到我在最基本的步骤上被难住了。。。正在查找输入文件! 输入。txt文件与调用它的类文件位于同一目录中,但eclipse仍给我一个错误,即找不到它: "线程"main"中的异常java.lang.错误:未解决的编译问题:未处理的异常类型FileNotFoundException" 我的代码: 输入txt在同一个包、同一个文件夹和所有内容中。我很困惑:(
我尝试用`log4j.properties'文件配置log4j。 所有的工作,但我得到了一个奇怪的警告: log4j:警告找不到记录器(org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager)的附加程序。log4j:警告请正确初始化log4j系统。log4j:警告有关更多信息,请参见http://logging.apache.org/
问题内容: 我该怎么做才能将其附加到文件中而不是覆盖? 问题答案: 使用附加:
如何将数据附加到文件的末尾(或开头)?我试着用 但它只写最后一项。
我有一个程序,它总是将相同的文件附加到GMAIL(撰写 它所做的是: 在Android 6.0之前,它一直工作良好。现在,我在尝试使用它时收到以下错误: 无法附加空文件 Astro文件共享给我同样的错误(可能是旧版本)。 但是,我安装了ES File Explorer,当我执行相同的例程并选择该文件时,我会收到一个对话框,其中显示: 将文件作为 普通Android方式(适用于彩信、Gmail等)
问题内容: 因此,我可以像这样从本地文件中读取: 而且我可以写入本地文件 但是,如何追加文件?有内置方法吗? 问题答案: 此答案在Go1中有效: