如何使用phantomjs浏览器在capybara中获取完整的url和hash

时间:2017-02-10 07:34:27

标签: javascript phantomjs capybara

我正在抓页,我用capybara和phantomjs浏览器打开它。

然后我按几个按钮,提交表格并登陆另一页。我想得到整个网址以及此页面的哈希值。如何将整个URL与哈希一起获取?

例如,假设带有哈希的完整网址为http://www.exxxxample.com/hello?a=b&c=d#somestuff=87

似乎我只能获得没有哈希部分的url(somestuff = 87)但是它应该是可能的,因为我有幻像。那么有没有办法使用幻像和一些js代码来读取哈希?

2 个答案:

答案 0 :(得分:1)

var url = page.evaluate(function(){
    return document.location.href;
});

答案 1 :(得分:0)

Capybaras current_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