首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Python中使用Selenium获得动态部件的选择器?

如何在Python中使用Selenium获得动态部件的选择器?
EN

Stack Overflow用户
提问于 2018-03-30 22:42:10
回答 2查看 1.1K关注 0票数 1

我的应用程序中有很多有动态ID的选择器。当动态ID位于选择器的末尾时,我在每个选择器的内部使用[id^='staticPart']。例如:

代码语言:javascript
复制
#tab-10 > svg > tspan

变成:

代码语言:javascript
复制
[id^='tab-'] > svg > tspan

我工作得很好,但我不知道如何处理这样的选择器:

代码语言:javascript
复制
#tab-t0-1

其中0是一个动态数字,其他一切都是静态的。我正在尝试以下操作,但是我得到了一个无效的选择器错误:

代码语言:javascript
复制
[id^='tab-']-1
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-03-31 11:03:32

要使用动态id标识元素,例如,#tab-t0-1,其中是一个动态数字,其他一切都是静态的,您可以在以下通配符中使用cssSelector:

  • ^:指示属性值以
  • $:指示属性值以

因此,最细粒度的定位器将包括查找初始字母的策略,即制表符-t和结尾字母,即-1,并且应该是:

代码语言:javascript
复制
[id^='tab-t'][id$='-1']

参考文献

您可以在以下网站找到几个相关的详细讨论:

票数 2
EN

Stack Overflow用户

发布于 2018-03-30 22:46:08

至少,您可以将“开始”和“以”选择器结合在一起。

代码语言:javascript
复制
[id^='tab-'][id$='-1']

不过,通常情况下,取决于像这样的id值的选择性,[id$='-1']部分可能不重要或没有区别,更直接的部分可能就足够了:

代码语言:javascript
复制
[id^=tab]

当然,这是特定于您正在处理的特定标记。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49582353

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档