代码之家  ›  专栏  ›  技术社区  ›  tjb

在python3seleniumwebdriver中设置xpath上下文节点

  •  0
  • tjb  · 技术社区  · 7 年前

    我想对某个节点重复执行xpath搜索。如何在python selenium webdriver中将此节点设置为上下文?

    from selenium import webdriver
    d=webdriver.Chrome()
    d.get("mysitehere")
    d.SET(context_node) <--what goes here?
    d.find_element_by_xpath("descendant::xxx[contains(text(), 'my text')]")
    d.find_element_by_xpath("descendant::xxx[contains(text(), 'my other text')]")
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   Andersson    7 年前

    您需要以下内容:

    context = d.find_element_by_xpath("//*[@attr='value']")  # define context node
    
    # Define descendants of context node
    context.find_element_by_xpath("./descendant::xxx[contains(text(), 'my text')]")
    context.find_element_by_xpath("./descendant::xxx[contains(text(), 'my other text')]")
    

    注意,需要在xpath表达式的开头指定点以指向上下文节点