Ruby on rails 使用nokogiri获取“onclick”url值

Ruby on rails 使用nokogiri获取“onclick”url值,ruby-on-rails,ruby,ruby-on-rails-3,ruby-on-rails-3.2,nokogiri,Ruby On Rails,Ruby,Ruby On Rails 3,Ruby On Rails 3.2,Nokogiri,此链接中的锚定变量内容: anchor = <a href="javascript:void(0);" class="cvt-nowrap" onclick="javascript:window.open('http://url.com/persona/WebLinkEntryPoint.php?idowner=36054&amp;code=DetalleOferta&amp;idofe=140543&amp;no_links=true', '', 'left=10

此链接中的锚定变量内容:

anchor = <a href="javascript:void(0);" class="cvt-nowrap" onclick="javascript:window.open('http://url.com/persona/WebLinkEntryPoint.php?idowner=36054&amp;code=DetalleOferta&amp;idofe=140543&amp;no_links=true', '', 'left=10, top=10, width=1200, height=860, resizable=yes, scrollbars=yes, menubar=no, toolbar=no, directories=no, location=no, status=no'); return false;"><img src="http://static.cvtools.com/public/static/abantia/images/2013-04-02-11-14-50.7705_link.gif" border="0" align="absmiddle">Here text</a>
http://url.com/persona/WebLinkEntryPoint.php?idowner=36054&code=DetalleOferta&idofe=140544&no_links=true

nokogiri是一个html解析器。onclick处理程序中的url是javascript。nokogiri不会为您解析,因此您必须自己进行解析。通过正则表达式,例如:

html = %q(<a href="javascript:void(0);" class="cvt-nowrap" onclick="javascript:window.open('http://url.com/persona/WebLinkEntryPoint.php?idowner=36054&amp;code=DetalleOferta&amp;idofe=140543&amp;no_links=true', '', 'left=10, top=10, width=1200, height=860, resizable=yes, scrollbars=yes, menubar=no, toolbar=no, directories=no, location=no, status=no'); return false;"><img src="http://static.cvtools.com/public/static/abantia/images/2013-04-02-11-14-50.7705_link.gif" border="0" align="absmiddle">Here text</a>)
doc = Nokogiri.parse html
doc.xpath('//a[@onclick]').first.attributes['onclick'].content.match(/'([^']+)/)[1]
=> "http://url.com/persona/WebLinkEntryPoint.php?idowner=36054&code=DetalleOferta&idofe=140543&no_links=true"

我在一个名为anchor的变量中有链接。我尝试了以下方法:html=%qanchor,但出现错误。我已经编辑了这个问题。谢谢如果您已经在某种变量中包含html,请使用该变量而不是htmlq只是编写单引号字符串的另一种方法,如