質問

私は、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'
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top