当前位置: 首页 > 面试题库 >

如何使用Selenium和Python获取内部具有动态部分的选择器?

佟颖逸
2023-03-14
问题内容

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

#tab-10 > svg > tspan

变成:

[id^='tab-'] > svg > tspan

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

#tab-t0-1

其中0是动态数字,其他所有内容都是静态的。我正在尝试以下操作,但收到无效的选择器错误:

[id^='tab-']-1

问题答案:

要标识具有动态元素,id例如 #tab-t0-1 ,其中 0 是动态数字,其他所有元素都是静态的,则可以将 cssSelector
与以下通配符结合使用:

  • ^ :表示属性值

  • $ :表示属性值

因此,最精细的定位器将包括寻找 初始字母(tab-t)结尾字母(-1)的策略, 并且应为:

[id^='tab-t'][id$='-1']


 类似资料:
  • 问题内容: 如何使用Selenium WebDriver和Python获取选定的选项: 有人有解决方案吗? 我正在使用它来获取select元素: 是否有类似的东西或类似于“ getFirstSelectedOption”的东西: 然后,我想用类似的方式验证内容: 问题答案: 这很容易处理- 类:

  • 问题内容: 用逗号分隔 的CSS选择器部分的正确术语是什么? 在这些部分,什么是部分术语 通过组合子分隔 (空格,,,等)? 问题答案: 用逗号分隔 的CSS选择器部分的正确术语是什么? 这些称为复杂选择器 。整个逗号分隔的列表称为 选择器列表 。 在这些部分,什么是部分术语 通过组合子分隔 (空格,,,等)? 这些被称为复合选择器。 因此,选择器列表由一个或多个用逗号分隔的复杂选择器组成,每个复

  • 问题内容: 我正在尝试创建横幅菜单内显示的元素的动态“元素图”,包括为每个菜单显示的链接。该图将存储在一个矩阵中,该矩阵将用于不同的方法和测试。 为此,我获取了元素的属性,并为菜单中显示的每个链接创建了自己的CSS选择器。这是我创建CSS的代码: 效果很好,但是我有一些运行一些JavaScript代码的链接,但我无法为其创建CSS选择器。 有没有其他方法可以从WebElement获取CSS选择器?

  • 问题内容: 我有一些用PHP生成的元素,我想知道是否可以选择ID不完整的元素,例如: 该类已经习惯了它们的共同点,但是现在我需要单独选择它们,但我不知道整个ID名称。 我可以使用类似: 问题答案: 不使用ID选择器,因为它们需要完整的ID名称,但使用substring属性选择器: 但是,既然您的元素仍然具有属性,那么为什么不向每个元素组添加一个通用类并按该类进行选择呢?您应该能够像生成ID一样使用

  • 使用python+Selenium Web驱动程序,我尝试为保险网站自动选择某些单选按钮。问题是单选按钮的ID是动态的。例如,当生成一个新的保险应用程序时,会生成一个新的页面,并且屏幕上的单选按钮已经动态创建了ID(参见下面的HTML示例) 因此,使用上面的示例,我想单击id为“subj_received_33965”的单选按钮。但是,因为元素是动态生成的,所以在下一次自动化运行时id会有所不同(

  • 我想打开文件管理器的一个按钮,点击,并想要获得一个特定项目的路径,选择该特定项目。