如何使用 phantomjs 浏览器在水豚中获取完整 url 和哈希值
how to get full url along with hash in capybara with phantomjs browser
我正在抓取一个页面,我使用 capybara 和 phantomjs 浏览器打开它。
然后我按了几个按钮,提交了一个表单并登陆了另一个页面。我想获得整个 url 以及此页面的哈希值。我怎样才能得到整个 url 和散列?
例如,假设带散列的完整 url 是 http://www.exxxxample.com/hello?a=b&c=d#somestuff=87
似乎我只能得到没有散列部分的 url (somestuff=87) 但是它应该是可能的,因为我有幻影。那么有没有办法使用phantom和一些js代码来读取hash呢?
var url = page.evaluate(function(){
return document.location.href;
});
水豚 current_url
returns 当前完整 url 包括 "hash"(片段)
sess = Capybara::Session.new(:poltergeist)
sess.visit("https://github.com/teamcapybara/capybara")
sess.click_link('Drivers')
puts sess.current_url # => https://github.com/teamcapybara/capybara#drivers
如果您只需要提取片段,您可以使用 URI::parse
URI::parse(sess.current_url).fragment
我正在抓取一个页面,我使用 capybara 和 phantomjs 浏览器打开它。
然后我按了几个按钮,提交了一个表单并登陆了另一个页面。我想获得整个 url 以及此页面的哈希值。我怎样才能得到整个 url 和散列?
例如,假设带散列的完整 url 是 http://www.exxxxample.com/hello?a=b&c=d#somestuff=87
似乎我只能得到没有散列部分的 url (somestuff=87) 但是它应该是可能的,因为我有幻影。那么有没有办法使用phantom和一些js代码来读取hash呢?
var url = page.evaluate(function(){
return document.location.href;
});
水豚 current_url
returns 当前完整 url 包括 "hash"(片段)
sess = Capybara::Session.new(:poltergeist)
sess.visit("https://github.com/teamcapybara/capybara")
sess.click_link('Drivers')
puts sess.current_url # => https://github.com/teamcapybara/capybara#drivers
如果您只需要提取片段,您可以使用 URI::parse
URI::parse(sess.current_url).fragment