我正在测试使用highcharts的Web应用程序。选择器看起来像这样,同一图表的高图号总是不同的。例如:
#highcharts-4 >div:nth-child(1) > span > div > span
如果页面上只有一个图表,我会执行以下操作,并且完美运行:
[id^='highcharts-'] > div:nth-child(1) > span > div > span
它选择id
以字符串'highcharts-'
开头的第一个元素,但如果让我说我有几个图表,我怎么能选择第二个和第三个元素网页?
例如,当有三个相同的图表时,每个图表上的相同元素将具有以下选择器,ID始终不同于两个:
#highcharts-4 >div:nth-child(1) > span > div > span
#highcharts-6 >div:nth-child(1) > span > div > span
#highcharts-8 >div:nth-child(1) > span > div > span
我如何抓住第二个和第三个?
答案 0 :(得分:2)
您应该能够使用该方法选择与您的选择器匹配的多个元素:
my_charts = driver.find_elements_by_css_selector("[id^='highcharts-'] > div:nth-child(1) > span > div > span")
for chart in my_charts:
print chart.text
(你没有提到你在使用这些图表做什么,但在这里我只是打印可能与之相关的任何文字)