引号的问题(红宝石)
-
23-09-2019 - |
题
任何想法我怎么能传递正确的参数的XPath?必须有一些关于如何使用单/双引号。当我使用变量
parser_xpath_identificator = "'//table/tbody[@id=\"threadbits_forum_251\"]/tr'"
给我一个不正确的值或
parser_xpath_identificator = "'//table/tbody[@id="threadbits_forum_251"]/tr'"
给我一个错误的语法错误,意想不到的tIDENTIFIER,预计年底$ 的
require 'rubygems'
require 'mechanize'
parser_xpath_identificator = "'//table/tbody[@id=\"threadbits_forum_251\"]/tr'"
# parser_xpath_identificator = "'//table/tbody[@id="threadbits_forum_251"]/tr'"
#gives an error: syntax error, unexpected tIDENTIFIER, expecting $end
agent = WWW::Mechanize.new
page = agent.get("http://www.vbulletin.org/forum/index.php")
page = page.link_with(:text=>'vB4 General Discussions').click
puts "Page title: #{page.title}"
puts "\nfrom variable: #{page.parser.xpath(parser_xpath_identificator).length}"
puts "directly: #{page.parser.xpath('//table/tbody[@id="threadbits_forum_251"]/tr').length}"
解决方案
在这两种情况下,你是嵌套单引号里面直接双引号,我不认为这是正确的。尝试这样:
parser_xpath_identificator = '//table/tbody[@id="threadbits_forum_251"]/tr'
不隶属于 StackOverflow