主DIV由其中一个子元素中的文本组成,并且包含按钮,如果存在文本,则需要单击按钮。如果其中一个孩子严格由我需要的文字组成,我该如何定义主div以继续使用它?
结构看起来像:
<Div class="Green"> (Main Div i mentioned in description)
<Div class="Yel">
<Div class="Ora">
<Div class="Pur">
<span>text must be present</span>
我需要定义main div,以便通过findelement进行此操作。然后。
答案 0 :(得分:0)
您尝试过以下内容吗?
Browser.FindElement(By.XPath("//div[@class='Green' and //span[normalize-space(.)='137']]//button[@class='needed_item']")).Click()
或
Browser.FindElement(By.XPath("//span[normalize-space(.)='137']/ancestor::div[@class='Green']//button[@class='needed_item']")).Click()
此xpath首先将找到具有137
文本跨度的主div。然后单击具有类needed_item
的按钮。考虑了xpath的以下结构。
<div @understand='main_div' @class='Green'>
<div @understand='child_div1'></div>
<div @understand='child_div2'>
<span @understand='target_span'> 137 </span>
</div>
<div @understand='child_div3></div>
<div @understand='div with button'>
<button @class='needed_item'>Target Button</button>
</div>
</div>
让我知道结构是否有变化。