嗨,大家好,我正在使用phantomjs
来进行自动化测试。这里是我的代码:拒绝评估字符串为JavaScript,因为'unsafe-eval'
capabilities = Selenium::WebDriver::Remote::Capabilities.phantomjs("phantomjs.page.settings.userAgent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36")
proxies = ['--ignore-ssl-errors=true', '--web-security=false', '--ssl-protocol=any']
driver = Selenium::WebDriver.for :phantomjs, :desired_capabilities => capabilities , :args => proxies
browser = Watir::Browser.new driver
begin
browser.goto(url)
browser.goto url
browser.driver.execute_script("window.scrollBy(0,document.body.scrollHeight/2)")
sleep 1
browser.driver.execute_script("window.scrollBy(0,document.body.scrollHeight)")
sleep 1
response = browser.html
fileHtml = File.new("response_linkedin.html", "wb+")
fileHtml.puts(response)
fileHtml.close
browser.close
response
rescue Exception => e
raise e.message.to_s
ensure
browser.close
end
问题是,当我试图执行脚本window.scrollBy(0,document.body.scrollHeight/2)
滚动窗口,我的代码返回错误象下面这样:
“的errorMessage”:“拒绝评价一个字符串作为JavaScript的,因为“不安全-EVAL”不是脚本在下面的内容安全策略指令
我想知道我为什么不能内部phantomjs
运行脚本注释所允许源的:我使用phantomjs
版本2.2.1,对于一些人建议我降级版本1.9.8(source),不幸的是降级到版本1.9.8似乎不起作用。任何人都可以帮助我?
感谢你好,我想知道如果用'无头chrome',我怎么能欺骗与虚假用户代理的浏览器? –
'options:{emu lation:{userAgent:'foo; bar'}' - https://github.com/watir/watir/blob/master/spec/browser_spec.rb#L83 – titusfortner
谢谢队友你的建议可以帮助我很多 –