【问题标题】:Unable to select using class name - Selenium无法使用类名选择 - Selenium
【发布时间】:2015-11-19 17:10:23
【问题描述】:

我需要使用类选择下面的元素,因为 id 是动态的。我不想循环遍历所有元素,因为类在这里是唯一的,但是类名的一部分仅与每个负载匹配,即类每个负载的名称都不相同。请帮忙。

我试过了:

css = .hook--carrier-arrival-date hook--carrier-date text-input width--gamma nudge-half--bottom hasDatepicker

HTML:

<input id="dp1440532204966" class="hook--carrier-arrival-date hook--carrier-date text-input width--gamma nudge-half--bottom hasDatepicker" type="text" value="" data-validation="carrierArrivalDate" maxlength="10" placeholder="mm/dd/yyyy" style="background-color: rgb(255, 255, 255);"/>

【问题讨论】:

  • input id="dp1440532204966" class="hook--carrier-arrival-date hook--carrier-date text-input width--gamma nudge-half--bottom hasDatepicker" type="text " value="" data-validation="carrierArrivalDate" maxlength="10" placeholder="mm/dd/yyyy" style="background-color: rgb(255, 255, 255);"
  • 你试过什么?您在寻找什么编程语言?你没有指定。
  • 您没有在标题或标签中指定语言,所以我们不知道您想要什么语言。您也没有提供任何以前的代码尝试,所以我们不知道您尝试了什么。
  • @JeffC... 我已经在我的第一篇文章中添加了我添加的内容。

标签: css selenium select selenium-webdriver css-selectors


【解决方案1】:

在不知道元素及其属性值的独特性的情况下,这仍然是一个猜测。

但是,从问题中可以清楚地看出,您没有正确检查多个类。用点代替它们。而且,您不需要检查所有这些,只选择“面向数据”:

input.hook--carrier-arrival-date.hook--carrier-date

或者,您可以进一步检查课堂上是否存在“到达日期”:

input[class*="arrival-date"]

注意它的可读性和简单性(尽管检查它是否指向所需的元素)。

【讨论】:

  • 如果这回答了您的问题,请将其标记为答案。
猜你喜欢
  • 2019-04-04
  • 2018-06-01
  • 2016-12-09
  • 1970-01-01
  • 2023-04-01
  • 2021-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多