我使用的是Ruby、Watir和Chromedriver。当我在网络测试中点击一个pdf链接时,我需要禁用pdf-viewer。我尝试了很多不同的设置,但都没有成功,比如:
prefs = {
plugins: {
plugins_disabled: ['Chrome PDF Viewer']
},
download: {
prompt_for_download: false,
directory_upgrade: true,
default_directory: '/pdf_downloads'
}
}
@browser = Watir::Browser.new :chrome, :prefs => prefs或
prefs= {
'profile' => {
'default_content_setting_values' => {'automatic_downloads' => 1}
}
}
@browser = Watir::Browser.new :chrome, :prefs => prefs有人能给点建议或建议吗?
发布于 2018-03-28 04:54:00
您可以通过启用always_open_pdf_externally设置来禁用PDF查看器。这将导致文件被下载。
prefs = {
plugins: {
always_open_pdf_externally: true
}
}
browser = Watir::Browser.new :chrome, prefs: prefs发布于 2018-03-28 03:32:27
您不能禁用PDF查看器,但您可以循环浏览窗口并关闭PDF窗口。
发布于 2018-04-04 20:29:14
谢谢你的回答。
我测试的内容是检查web上可用的pdf是否与参考文献中的pdf相同。最后,为了检查下载的pdf是否与作为参考的pdf相同,我最好的选择是阅读这两个内容并进行比较。我创建了一个simpe和小函数
def pdf_text(url_file_input)
pdf_text = Array.new
io = open(url_file_input)
reader = PDF::Reader.new(io)
reader.pages.each do |page|
pdf_text << page.text
end
return pdf_text
end然后使用expect进行比较:
expect(pdf_text("url_to_file.pdf")).to eql(pdf_text('path_to_file.pdf'))https://stackoverflow.com/questions/49493874
复制相似问题