【问题标题】:How to search a node through Selenium and Python as per the HTML provided?如何根据提供的 HTML 通过 Selenium 和 Python 搜索节点?
【发布时间】:2018-11-20 12:21:00
【问题描述】:

我正在使用Python和Selenium搜索节点,代码是:

br.find_element_by_css_selector('dd[_position="3"] a[title="test.docx"]')

可以定位到@​​987654324@下的Sub节点;但我想使用代码在<div class="operate"... 下的子节点中定位:

br.find_element_by_css_selector('dd[_position="3"] div[class="button-box-mark"]')

失败了,我检查了“操作”下的子节点,什么都没有。谁能帮我解决这个话题?

【问题讨论】:

  • 你用 xpath 试过了吗:- br.find_element_by_xpath_selector('div[class="button-box-mark"]')
  • 我试过xpah、classname、css,都找不到
  • 在问题中发布您的 HTML。
  • 似乎 selenium 无法找到正确的路径,如果我使用代码 br.find_element_by_xpath('dd[_position="3"]/div[1]/*') 我可以看到节点“操作”及其子元素,你知道为什么会吗?

标签: python-2.7 selenium selenium-webdriver xpath css-selectors


【解决方案1】:

根据您提供的 HTML 快照,用于识别标记为 子节点 2 的节点的 子节点,您可以使用以下任一定位器策略

  • css 选择器

    br.find_element_by_css_selector("dd[_position=3] div.file-name div.operate > div.button-box-mark")
    
  • xpath

    br.find_element_by_xpath("//dd[@_position='3']//div[@class='file-name']//div[@class='operate']/div[@class='button-box-mark']")
    

【讨论】:

  • 似乎 selenium 无法找到正确的路径,如果我使用代码 br.find_element_by_xpath('dd[_position="3"]/div[1]/*') 我可以看到节点“操作”及其子元素,你知道为什么会吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-11
  • 1970-01-01
  • 2019-02-15
  • 1970-01-01
  • 2019-01-31
  • 1970-01-01
相关资源
最近更新 更多