如何编写嵌套元素的 XPath

how to write XPath of a nested element

HTML结构如下图,

<div class  = "items">
   <oj-input-text class = "input", label-hint = "asd">
       <input class = "text-input-entry">
   <oj-input-text class = "input", label-hint = "pfg">
       <input class = "text-input-entry">

我如何编写 Xpath 来输入 class = "text-input-entry" 下的 oj-input-text class = "input", for the label-hint = " pfg

我认为这样的事情会起作用,但它不起作用

//div [@class = "items"]/oj-input-text [@class = "input", @label-hint = "pfg"]/input [@class = "text-input-entry"]

使用Chrome DevTools -> Inspect -> Copy -> Copy XPath 这将为您提供一个如何构建 XPath 的示例。 即问题代码的 XPath://*[@id="question"]/div/div[2]/div[1]/pre[1]/code

将您的描述转换为 XPath 非常简单。
它将是:

//oj-input-text[@class = 'input' and @label-hint = 'pfg']//input[@class = 'text-input-entry']

或者如果 oj-input-text 不是此处显示的常规元素标签名称

//*[name()=oj-input-text and @class = 'input' and @label-hint = 'pfg']//input[@class = 'text-input-entry']

//oj-input-text[@class = 'input' and @label-hint = 'pfg']//input[@class = 'text-input-entry']表示如下:
// 文档某处
oj-input-text 具有 oj-input-text 标签名称的节点
@class = 'input'元素class属性值为input
and - 那里的另一个条件 @label-hint = 'pfg' - label-hint 属性的值为 pgf
第二个 // - 在这个元素下面的某处,在它里面
input - 标签名称 input
class = 'text-input-entry' - class 属性值为 text-input-entry