首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何禁用chromedriver中内置的pdf-viewer

如何禁用chromedriver中内置的pdf-viewer
EN

Stack Overflow用户
提问于 2018-03-26 22:27:43
回答 3查看 543关注 0票数 1

我使用的是Ruby、Watir和Chromedriver。当我在网络测试中点击一个pdf链接时,我需要禁用pdf-viewer。我尝试了很多不同的设置,但都没有成功,比如:

代码语言:javascript
复制
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

代码语言:javascript
复制
prefs= {
  'profile' => {
  'default_content_setting_values' => {'automatic_downloads' => 1}
  }
}
@browser = Watir::Browser.new :chrome, :prefs => prefs

有人能给点建议或建议吗?

EN

回答 3

Stack Overflow用户

发布于 2018-03-28 04:54:00

您可以通过启用always_open_pdf_externally设置来禁用PDF查看器。这将导致文件被下载。

代码语言:javascript
复制
prefs = {
  plugins: {
    always_open_pdf_externally: true
  }
}
browser = Watir::Browser.new :chrome, prefs: prefs
票数 2
EN

Stack Overflow用户

发布于 2018-03-28 03:32:27

您不能禁用PDF查看器,但您可以循环浏览窗口并关闭PDF窗口。

票数 0
EN

Stack Overflow用户

发布于 2018-04-04 20:29:14

谢谢你的回答。

我测试的内容是检查web上可用的pdf是否与参考文献中的pdf相同。最后,为了检查下载的pdf是否与作为参考的pdf相同,我最好的选择是阅读这两个内容并进行比较。我创建了一个simpe和小函数

代码语言:javascript
复制
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进行比较:

代码语言:javascript
复制
expect(pdf_text("url_to_file.pdf")).to eql(pdf_text('path_to_file.pdf'))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49493874

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档