访问具有相同类名但不同xpath的所有div的内容

时间:2015-09-02 09:52:29

标签: python selenium xpath

我正在尝试使用python从具有相同类名的XHTML中的两个分区中提取数据但是当我尝试取出它们的xpath时,它们是不同的。我尝试使用

driver = webdriver.Chrome()
content = driver.find_element_by_class_name("abc")
print content.text

但它只给出了第一个div的内容。我听说这可以使用xpath完成。 div的xpath如下:

//*[@id="u_jsonp_2_o"]/div[2]/div[1]/div[3] 
//*[@id="tl_unit_-5698935668596454905"]/div/div[2]/div[1]/div[3]    
//*[@id="u_jsonp_3_c"]/div[2]/div[1]/div[3]

我的想法,因为每个xpath都有相同的结尾,我们如何在结束时使用这种相似性,然后通过编写[1],[2],[3] ....来结束python中的分区。 xpath?

另外,我希望make content是一个包含名为abc的类的所有内容的数组。而且,我不知道有多少abc存在!如何将所有这些数据集成到一个内容数组中?

1 个答案:

答案 0 :(得分:2)

在你的情况下,如果你使用类名或css并不重要,你只需要搜索find_element的“one”元素,但是你想要找到几个元素:

您需要使用find_element**s**_by_class_name

content = driver.find_elements_by_class_name("abc")
for element in content:
  // here you can work with every single element that has class "abc"
  // do whatever you want
  print element.text