【问题标题】:Getting all elements in a page with specific span class python selenium使用特定跨度类 python selenium 获取页面中的所有元素
【发布时间】:2021-02-11 08:44:12
【问题描述】:

您好,我正在尝试在 python 中使用 selenium 抓取多个页面。我有兴趣提取属于跨度类元素的所有元素,基本上我想做的是获取跨度类元素然后提取其中的链接。对于每个页面,可以通过使用 xpath 来实现这一点,但是 xpath 会因每个对象和每个页面而变化。以下是 Web 元素外观的示例:

基本上我想提取在我将要抓取的所有页面中一致的元素。所以我的想法是获取这些元素,然后获取这些元素的 href 元素。我尝试使用此代码获取页面上的所有元素

driver.find_elements_by_xpath("//span[@class='Text__StyledText-jknly0-0 cCEhaW']")

然而这并没有奏效,它什么也没有返回。我也不想使用内部类,因为它也因页面而异,所以如果我想自动化抓取而不变得太乱,唯一真正要使用的元素就是我提到的那个元素。有什么方法可以提取页面上这个 span 类元素的链接?

【问题讨论】:

    标签: python selenium html-table


    【解决方案1】:

    试试这个 xpath

    //span[contains(@class,'Text__StyledText')]//a[contains(@class,'Anchor__StyledAnchor')]
    

    【讨论】:

      【解决方案2】:

      要实际抓取该元素,我们使用以下内容

      driver.find_elements_by_css_selector("span.Text__StyledText-jknly0-0.cCEhaW")
      

      【讨论】:

      • 您好,我在 python 中工作。这将返回一个空列表,因此它不起作用。
      • 班级每次都在变化吗?
      • 来自哪个网站?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-29
      • 2011-07-24
      • 2022-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多