Я использую селен для задачи и пытаюсь подсчитать список элементов в графе кибаны.
документ такой
<div class="chart-wrapper">
<div class="chart">
<svg height="454" width="2031">
<g clip-path="url(#chart-area256)" transform="translate(0,10)">
<clipPath id="chart-area256"><rect height="439" width="2031" y="0" x="0"></rect>
</clipPath>
<g class="pathgroup 0"><path d="...."></path></g>
<g class="pathgroup 1"><path d=""></path></g>
<g class="pathgroup 2"><path d=""></path></g>
<g class="points area">
...</g>
</svg>
</div>
</div>
Я запрашиваю все g или все @ class = "pathgroup"
print(len(driver.find_elements_by_xpath('//g')))
а также
print(len(driver.find_elements_by_xpath('//g[@class="pathgroup"]')))
Оба по какой-то причине возвращают нулевые элементы. Так что я попробовал и другие запросы
len(driver.find_elements_by_xpath('//div[@class="chart"]'))
// div [@ class = "chart"] выглядит работоспособным. with devtools возвращает svg, что верно. Но когда я пытаюсь
$x('//div[@class="chart"]/svg').length #devtools command
снова возвращает ноль. Несмотря на то что
$x('//div[@class="chart"]/*').length #devtools command
возвращает правильное значение
Мне просто интересно, почему и как! любая идея?
driver.find_elements_by_xpath("count(//div[@class='chart']//g[@class='pathgroup'])")
08.12.2015