1

可能な限り、セレクターを xpath から css に切り替える作業を行っています。

これはxpathで機能しました:

//ul[contains(@id,'district-switcher')]

しかし、私が思ったのはcssで同等のものでした:

css=ul#district_switcher

ロケータが見つからないだけです。必要ないと思うので、cssにcontainsを使用していません

firefox selenium IDE を使用しています

HTML:

<ul id="district-switcher" class="nav nav-pills" style="background-color:
transparent;"><li class="dropdown open"><a class="dropdown-toggle" href="#">
Change district
<b class="caret"></b></a><ul class="dropdown-menu"><li>...

css= セレクターのアプローチで何が間違っていますか?

4

3 に答える 3

2

単純なタイプミス:#district_switcherは と同じではありません#district-switcher

于 2013-05-01T20:05:25.680 に答える
1

同等の CSS//ul[contains(@id,'district-switcher')]は次のとおりです。

ul#district-switcher

例えば:

require 'nokogiri'

doc = Nokogiri::HTML(<<EOT)
<ul id="district-switcher" class="nav nav-pills" style="background-color:
transparent;"><li class="dropdown open"><a class="dropdown-toggle" href="#">
Change district
<b class="caret"></b></a><ul class="dropdown-menu"><li>
EOT

doc.at('ul#district-switcher')['class'] # => "nav nav-pills"
doc.at('ul#district-switcher a').text # => "\nChange district\n"

Nokogiri はjQuery の CSS セレクターをサポートしているため、HTMLおよびXML ドキュメントをナビゲートするための非常に堅牢な方法となっています。

于 2013-05-01T20:05:35.487 に答える
1

その部分についてはよくわかりませんcss=が、あなたが書いdistrict_switcherた. 以前はdistrict-switcher. より正確にはul[id*=district-switcher]

于 2013-05-01T20:05:16.737 に答える