我正在测试一个使用 highcharts 的网络应用程序。选择器看起来是这样的,同一张图表的 Highcharts 编号总是不同的。例如:
#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
如何抓取第二个和第三个?
请您参考如下方法:
您应该能够使用该方法来选择与您的选择器匹配的多个元素:
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
(你没有提到你用这些图表做了什么,但在这里我只是打印可能与之相关的任何文本)
