无法确定下述情况的 XPath

Unable to determine XPath for below described case

HTML结构如下图,

div class = Subject
{ 
  div class = sub
 {

   <span> 'MATHEMATICS' <span>
 }
 
 div class = Score
 {
   
  input class "score|input"
 }
}

div class = Subject
{ 
  div class = sub
 {

   <span> 'CHEMISTRY' <span>
 }
 
 div class = Score
 {
   
  input class "score|input"
 }
}

'MATHEMATICS'、'CHEMISTRY' 是 span

中的文本

我需要做的是根据 span 中的文本访问输入 class。

我不知道如何根据 span 中的文本访问 'input' class。我想知道如何退出特定的嵌套部分(跨度)并进入同一 class 中的另一个嵌套部分,即。输入 class = 'score|input'

以下是获取直到跨度的自定义 Xpath,除此之外我需要帮助。

div class = Subject // div class = sub // span (over here, I am unaware of how to read text say, 'MATHEMATICS', and move to another nested portion input class = 'score|input')

您可以像下面这样使用 XPath 表达式:

//div[@class ='Subject' and .//span[text()='CHEMISTRY']]//input[@class='score|input']

CHEMISTRYMATHEMATICS 等文本值可以作为变量传递到此处。
如果不完全匹配文本验证,您还可以使用 contains 方法,如下所示:

//div[@class ='Subject' and .//span[contains(text(),'CHEMISTRY')]]//input[@class='score|input']