是否可以通过selenium中的部分ID匹配来定位元素

我正在尝试使用生成的ID来查找元素,其中ID的某些部分是已知的;例如:

id="page_x002e_x0023_default-create-firstname"

其中后3个字词(_default-create-firstname)是已知的,但前面的任何内容都可能更改。这可能吗?

回答:

你可以申请一个 末端,与 CSS选择器:

By.cssSelector("[id$=default-create-firstname]")

自从答案发布以来已经过去了一段时间。以下是链接的mozilla开发人员页面上的一些更新以及以下注释:

新用途By.css代替By.cssSelector

By.css("[id$=default-create-firstname]")

另请参阅以下四种可能性

  • 以。。。开始
  • 里面的任何地方
  • 内部任何地方,不考虑大小写


/* Internal links, beginning with "#" */

a[href^="#"] {

background-color: gold;

}

/* Links with "example" anywhere in the URL */

a[href*="example"] {

background-color: silver;

}

/* Links with "insensitive" anywhere in the URL,

regardless of capitalization */

a[href*="insensitive" i] {

color: cyan;

}

/* Links that end in ".org" */

a[href$=".org"] {

color: red;

}

以上是 是否可以通过selenium中的部分ID匹配来定位元素 的全部内容, 来源链接: utcz.com/qa/413414.html

回到顶部