从<a class=""> <b class=""> with Selenium

时间:2017-08-01 15:53:36

标签: python html selenium web-scraping

I'm using selenium to draw some information about ownership for a given PredictIt market (ie, https://www.predictit.org/Home/SingleOption?contractId=7347#data)中提取文字值。拥有的股份嵌套在: enter image description here 我该如何提取数字?

我已经尝试了

self.driver.find_element_by_class_name("showpointer showOwnership").text

self.driver.find_element_by_id('showpointer showOwnership')

self.driver.find_element_by_class_name("label alert-success label-lg")

self.find_element_by_css_selector("spand[class='label alert-success label-lg']")

self.driver.findElement(By.cssSelector("#ctrlNotesWindow .notesData > .notesDate")).getText())

一切都无济于事。任何建议将不胜感激!谢谢:))

编辑:所有错误都是: &#34; NoSuchElement错误&#34;

1 个答案:

答案 0 :(得分:1)

为什么尝试失败:

  • &#34;按类名&#34;定位器要求您指定单个类名 - 而不是其中的多个
  • 没有id个元素 - &#34; by id&#34; locator什么都不匹配
  • 您正在寻找带有CSS选择器的不存在的spand元素。另外,您在find_element_by_css_selector而不是self
  • 上致电self.driver
  • 你的最后一次尝试是在Java中,而不是在Python中

根据您发布的内容判断,我会使用CSS选择器检查ab的类:

self.driver.find_element_by_css_selector("a.showOwnership > b.label").text