You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python3.6 Selenium如何通过父节点定位子input节点(XPath)

如何通过已定位的父元素直接获取子input元素

当然可以!你完全没必要重复写完整XPath或者再次调用find_element_by_xpath来定位子元素,有几种简洁且高效的方式能满足你的需求:

  • 方法一:使用相对XPath定位
    既然已经拿到了父元素main_field,你可以用相对路径来查找它下面的input子元素,只需要在XPath前加个.(代表从当前元素开始查找,而非根节点):

    from selenium.webdriver.common.by import By
    
    input_field = main_field.find_element(By.XPATH, './/input')
    

    这种方式适合子元素结构稍微复杂,但你想精准匹配的场景。

  • 方法二:通过标签名直接定位
    如果这个父div下面只有一个input子元素,用标签名定位是最简洁的方式:

    from selenium.webdriver.common.by import By
    
    input_field = main_field.find_element(By.TAG_NAME, 'input')
    

    这种写法比XPath更直观,代码也更短。

需要注意的是:WebElement对象并不支持像字典那样用main_field['input']的方式直接获取子元素,不过上面两种方法已经足够替代,而且代码量很少,完全符合你不想重复调用完整XPath定位函数的需求。

内容的提问来源于stack exchange,提问作者TheReshi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 07:43:21