我的应用程序有很多Highchart,它们的所有选择器都以#highcharts-10开头,其中的数字对于同一个图表总是不同的。当页面上只有一个图表时,我会在每个选择器中使用[id^='highcharts-']。例如:
#highcharts-10 > svg > tspan变成:
[id^='highcharts-'] > svg > tspan我工作得很好,但是我不知道如果我在同一页上有三个图表,我能做什么。这些图表ID看起来是按+2步长排序的。所以如果第一个是10,另外两个是12和14。有什么建议吗?
发布于 2017-11-02 03:31:20
要区分具有相似选择器的节点,您可以尝试
按唯一XPath搜索
first = driver.find_element_by_xpath('(//*starts-with(@id,"highcharts-")/*name()="svg"/*name()="tspan")1') second = driver.find_element_by_xpath('(//*starts-with(@id,"highcharts-")/*name()="svg"/*name()="tspan")2') third = driver.find_element_by_xpath('(//*starts-with(@id,按元素列表索引的"highcharts-")/*name()="svg"/*name()="tspan")3')
find_elements...而不是find_element...)first = driver.find_elements_by_css_selector("id^='highcharts-‘> svg > tspan") second = driver.find_elements_by_css_selector("id^='highcharts-’> svg > tspan")1 third = driver.find_elements_by_css_selector("id^='highcharts-‘> svg > tspan")2
https://stackoverflow.com/questions/47060998
复制相似问题