如何使用动态文本获取HTML标签并在其中具有跨度



我被卡住在自动化网站时生成元素的相对xpath。

站点名称:www.magicbricks.com/forum

请访问此网站,并尝试在带有文字" Sai Park"的搜索栏中找到一个地方。

搜索框下方的列表中出现了很多结果。现在我必须选择"浦那赛公园项目"。

我确实尝试生成这样的XPath:

//span[text()='Sai Park']/parent::a[text()=', Pune']

但是,此代码仅在锚固标签中没有跨度标签之前没有文本时起作用。

标签的文本取决于您要搜索的内容(搜索文本将被视为跨度文本)

这是标签:

<a onclick="discussionPageSearchResult('48633','Project Sai Park |Pune','PROJECTS');" id="ui-id-151" class="ui-corner-all" tabindex="-1">Project <span>Sai Park</span>, Pune</a>

您能让我知道如何处理吗?

谢谢

以下XPath表达式应执行您想要的事情:

//a[normalize-space()="Project Sai Park, Pune"]

如果该标签中的文本等于 project sai park,pune ,它将选择a标签。

尝试以下:

//span [text()='sai park']/parent :: a [conting(text(),'pune')]

如果使用Java,请使用以下解决方案:

WebElement element = driver.findElement(By.cssSelector("a[href*='project-sai-park']"));
//scroll to that element
((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", element);
element.click();

希望这会帮助您,并让我知道会发生什么。

相关内容

最新更新