Структура 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"
 }
}

«МАТЕМАТИКА», «ХИМИЯ» — это текст в интервале

Что мне нужно сделать, так это получить доступ к входному классу на основе текста в диапазоне.

Я не знаю, как получить доступ к классу ввода на основе текста в диапазоне. Я хочу знать, как выйти из этой конкретной вложенной части (промежутка) и перейти в другую вложенную часть того же класса, т.е. класс ввода = 'оценка | ввод'

Ниже приведен пользовательский Xpath, чтобы добраться до диапазона, кроме этого мне нужна помощь.

div class = Subject // div class = sub // span (здесь я не знаю, как читать текст, скажем, «MATHEMATICS», и переходить к другой вложенной части input class = 'score|input')

1
Raytheon_11 26 Янв 2022 в 16:01
Пожалуйста, дайте мне знать, понял ли я, что вы спросили, и решил ли мой ответ вашу проблему.
 – 
Prophet
26 Янв 2022 в 16:14
Да, это делает работу,
 – 
Raytheon_11
26 Янв 2022 в 16:17
1
Отлично, я рад, что смог помочь здесь!
 – 
Prophet
26 Янв 2022 в 16:18

1 ответ

Лучший ответ

Вы можете использовать выражение XPath следующим образом:

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

Текстовое значение, например CHEMISTRY или MATHEMATICS, может быть передано здесь как переменная.
Вы также можете использовать метод contains в случае неточной проверки соответствия текста, например:

//div[@class ='Subject' and .//span[contains(text(),'CHEMISTRY')]]//input[@class='score|input']
1
Prophet 26 Янв 2022 в 16:08