【问题标题】:Python 3.6 Selenium How to find a child node through the reference of a parent node (xPath)Python 3.6 Selenium 如何通过父节点的引用(xPath)找到子节点
【发布时间】:2018-04-04 14:03:20
【问题描述】:

在此处输入代码我有两个 xPath 字段。

  • 第一个:

    //*[@id="app"]/div/div/div[2]/div/div[2]/div[2]/div[3]/div[1]
    
  • 第二个:

    //*[@id="app"]/div/div/div[2]/div/div[2]/div[2]/div[3]/div[1]/input
    

我已通过以下方式找到并修复了第一个 div:

main_field = driver.find_element_by_xpath('//[@id="app"]/div/div/div[2]/div/div[2]/div[2]/div[3]/div[1]')

有没有办法使用 main_field 获取 /input 字段?我的意思是main_field['input']。如果可能,我不想再次使用find_element_by_xpath 函数。

提前致谢!

【问题讨论】:

    标签: python python-3.x selenium xpath selenium-chromedriver


    【解决方案1】:

    正如您通过以下方式找到第一个字段:

    main_field = driver.find_element_by_xpath('//[@id="app"]/div/div/div[2]/div/div[2]/div[2]/div[3]/div[1]')
    

    现在,ma​​in_field 可能包含一个/多个子节点。因此,要获取特定的子 <input> 字段,您可以使用父节点的引用,即 ma​​in_field 但您必须再次调用 find_element_by_*,如下所示:

    main_field.find_element_by_xpath('.//input')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-30
      相关资源
      最近更新 更多