Selenium Web 驱动程序如何单击 Span 类元素

Posted

技术标签:

【中文标题】Selenium Web 驱动程序如何单击 Span 类元素【英文标题】:Selenium Web Driver How to Click Span Class Element 【发布时间】:2019-05-04 15:25:36 【问题描述】:

<span class="title ng-binding">TEST</span>

我想点击以下。 我尝试了很多方法,但没有成功。感谢您的帮助。

【问题讨论】:

您使用的是哪种 Selenium 语言绑定艺术Java / Python / C# / NodeJS ? 我使用 Java @DebanjanB。实际上有一个由Angular制作的左侧栏菜单,我想点击菜单内的一个页面。 当我尝试“new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("span.title.ng-binding"))).click(); ”动作只是打开菜单。我无法点击该页面。 【参考方案1】:

所需元素是 Angular 元素,因此您必须诱导 WebDriverwait 以使所需 元素可点击,并且您可以使用以下任一方法(Java) 解决方案:

cssSelector:

new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("span.title.ng-binding"))).click();  

xpath:

new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//span[@class='title ng-binding' and contains(.,'TEST')]"))).click();

【讨论】:

@MuhammetAltunbaş 要就我的回答发表评论或提出反问题,您必须仅通过我的回答下方的评论提出问题,否则我不会收到通知。 @MuhammetAltunbaş 因此,根据您提供的 html,使用我的代码,您似乎能够单击所需的元素。如果我的answer满足了您的question,请点击我的answer旁边的空心复选标记Acceptanswer i> 位于 votedown 箭头下方,因此复选标记变为 绿色 @MuhammetAltunbaş 如果您的要求发生了变化,请随时提出新问题。 *** 志愿者很乐意为您提供帮助。

以上是关于Selenium Web 驱动程序如何单击 Span 类元素的主要内容,如果未能解决你的问题,请参考以下文章

如何单击使用 Selenium WebDriver 隐藏的元素?

使用 selenium python web 驱动程序从角度单击表中的所有行

如何在selenium IDE中单击iFrame中的链接

如何使用只有 SRC 的 Selenium 单击图像

如何在 SPA 应用程序中从 Web API 访问 Graph API

如何在 Flutter Web 上禁用 SPA