我如何使用 Selenium select div <i> python

how do I select the div that has this <i> using Selenium python

我想使用 python 用 selenium 抓取一个测验,这是 1 个答案选择的代码。

当它是正确答案时,遗嘱包含这个特定的 class,当它不正确时,它是这个

的另一个 class

所以我想获取答案正确的问题文本(产品对客户满意度的影响。) 这将取决于 < i > 中的 class (因为正如我所说,当它的错误答案时,它是另一个 class inside )

但我找不到如何使用 XPATHselect 它

<div class='course-player__interactive-checkbox _interactive-checkbox_cjbh9b'>
  <div class='course-player__interactive-checkbox__choice-label _interactive-checkbox__choice-label_cjbh9b'>
    <span class='course-player__interactive-checkbox__choice-letter _interactive-checkbox__choice-letter_cjbh9b'> ANSWER A </span>
  </div>
  <span class='course-player__interactive-checkbox__choice-text _interactive-checkbox__choice-text_cjbh9b'> The product's impact on customer satisfaction. </span>
  <span class='course-player__interactive-checkbox__choice-answered _interactive-checkbox__choice-answered_cjbh9b'>
    <i class='toga-icon toga-icon-circle-fill-check _interactive-checkbox__choice-icon_cjbh9b'> </i>
  </span>
</div>

一种检索字符串的方法

The product's impact on customer satisfaction.

Selenium 如下:

from selenium import webdriver
driver = webdriver.Chrome()
driver.get("file:///input.html")
lookup = driver.find_elements_by_xpath("//div/span[i]/preceding-sibling::*[1]")
print(lookup[0].text)

XPath-1.0 表达式选择 <span> 之前的 <span>,它有一个 <i> 子节点。
但请注意,此代码不包含任何错误处理。