【问题标题】:How to search for an element in the same class as another (Selenium Python)如何在与另一个相同的类中搜索元素(Selenium Python)
【发布时间】:2019-03-09 23:11:15
【问题描述】:

如果我已经搜索过一个元素,有什么方法可以在同一个类中找到另一个?

例如

<div class="day">
  <span class="day_number">4</span>
  <span class="day_item_time" data-day-total-time="day-total-time">10m</span></div>

所以我必须按日期搜索(找到具有 4 的元素),但是如何将其转换为找到 10m?

这是打印出元素&lt;selenium.webdriver.firefox.webelement.FirefoxWebElement (session="4ff20f1a-75d1-42c1-a7d0-de0c532651a6", element="1147f2d5-8832-44d4-a906-929ebaaa49e2")&gt;后的结果

【问题讨论】:

标签: python selenium selenium-webdriver webdriver


【解决方案1】:

试试下面的代码。它应该会返回您预期的输出。

driver.find_element_by_xpath("(//div[@class='day']/span)[1]").text
driver.find_element_by_xpath("(//div[@class='day']/span)[2]").text

输出:

4
10m

【讨论】:

  • 问题是显示日期的“4”在日历上,所以我试图找到它的地方会改变:/
【解决方案2】:

可能是这样的:

//span[text()="4"]/following-sibling::span

【讨论】:

    【解决方案3】:

    您可以使用下面的 xpaths 获取day-total-time


    使用day_number 类和文本4ancestor 获取span - 使用day 类获取第一个父级div,然后使用data-day-total-time 属性获取span

    //span[@class='day_number' and .='4']/ancestor::div[@class='day'][1]/span[@data-day-total-time]
    

    使用类day 获取div 和使用day_number 类和文本4 的子span,然后使用data-day-total-time 属性获取span

    //div[@class='day' and ./span[@class='day_number' and .='4']]/span[@data-day-total-time]
    

    【讨论】:

      猜你喜欢
      • 2019-09-24
      • 2020-04-18
      • 1970-01-01
      • 2018-07-25
      • 1970-01-01
      • 1970-01-01
      • 2020-07-27
      • 1970-01-01
      • 2012-02-15
      相关资源
      最近更新 更多