【问题标题】:check the first element using css selector使用 css 选择器检查第一个元素
【发布时间】:2015-04-25 09:47:15
【问题描述】:

我正在尝试使用 css 检查网页上是否存在特定元素。使用

$$("css=.class1 a")

返回

<a href="##################" id="ID-133333">Activate</a>
<a href="##################" id="ID-122222">Deactivate</a>

我需要检查是否出现了激活。谁能告诉我如何激活。

页面结构:

<div class = "class1">
  <div class = "class2">
    <a href="##################" id="ID-133333">Activate</a>
    <a href="##################" id="ID-122222">Deactivate</a>

【问题讨论】:

  • "using css ..." - 究竟是如何工作的?
  • 您是否要检查Activate 元素是否显示/存在于带有selenium 的页面上?
  • @Saifur 是的。我需要检查激活
  • @Maarten1909:getElementsByClassName(我相信你指的就是这个)与 jQuery 无关。
  • @alecxe 为什么 $$("css=.class1 a.cointains('Activate')") 不起作用?

标签: jquery css selenium css-selectors


【解决方案1】:

你可以使用first-of-type pseudo-class:

css=.class1 a:first-of-type

【讨论】:

  • 我发现其他使用@FindBy(linktext="Activate") 的简单解决方案也可以完成这项工作
  • @DOSKrupp 当然,错过了!我最喜欢的一个 :) 感谢您分享和接受答案!
【解决方案2】:

使用 JQuery 你可以检查一个类是否存在。

$("#search").click(function() {
  if ($(".activate")[0]) {
    alert('Found activate');
  }
});

$("#search-2").click(function() {
  if (!$(".not-activate")[0]) {
    alert('Could not find not-activate');
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#" id="ID-133333" class="activate">Activate</a>

<a href="#" id="ID-122222" class="deactivate">Deactivate</a>

<br/>
<button id="search">Search activate class</button>
<button id="search-2">Search not-activate class</button>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-06
    • 1970-01-01
    • 2022-11-03
    • 2011-02-12
    相关资源
    最近更新 更多