svg
要素があり、その中に複数のg
タグがあります。通常、名前でタグを選択すると、ページ上のすべてのタグのリストが表示されます。例えば、これは、セレンWebElement
インスタンスのリストを返します:なぜこのSelenium/XPathクエリは最初の `g`タグだけを選択しますか?
browser.find_elements_by_xpath('//a')
をしかし、私は私のsvg
要素内のすべてのg
タグを選択しようとすると、私は最初の要素だけが返されます。たとえば、次のように
browser.find_element_by_xpath('//*[name()="svg"]/*[name()="g"]')
そして、ここに私のマークアップ:
<svg xmlns="http://www.w3.org/2000/svg">
<g>...</g>
<g>...</g>
<g>...</g>
...
</svg>
は、どのように私はすべてのg
のタグを選択することができますか?
私はCSSロケータが短いと同意しません。通常、 '.// svg/g' – djangofan
@ djangofanのように、正しく書かれたときの長さは通常同じですが、" .//svg/g "が動作していれば文は真ですが、そうではありません。 –