有没有办法在同一个变量中包含具有不同属性的网络元素?
Is there a way to contain web elements with different attributes in the same variable?
这不是绝对必要的,但它会使代码更短并且可能更快。我想使用 Selenium 对通常属于相同 class 的 Web 元素执行相同的操作,但如果单击其中一个元素,其 class 会动态更改以指定它是“活跃的”元素。我基本上只能通过 class 名称 (XPATH) 定位这些元素。有没有办法将属于不同 class 的元素存储到同一个变量中,然后对该变量执行操作?
如果使用 XPath 是唯一的选择,您可以在元素的选择器中使用逻辑运算符。
例如下面的 XPath:
//div[starts-with(@class, 'myclass')]|//div[starts-with(@class, 'myclass active')]
上面的 XPath 表示“找到所有 div 标签,其中 class 以 'myclass' 开头,或者所有 div 标签以 'myclass active' 开头.
其他 XPath 表达式(如 contains)可用于匹配 element/collection 元素的任何属性中的文本。在选择选择器时要小心,以确保只选择您想要选择的元素。
这不是绝对必要的,但它会使代码更短并且可能更快。我想使用 Selenium 对通常属于相同 class 的 Web 元素执行相同的操作,但如果单击其中一个元素,其 class 会动态更改以指定它是“活跃的”元素。我基本上只能通过 class 名称 (XPATH) 定位这些元素。有没有办法将属于不同 class 的元素存储到同一个变量中,然后对该变量执行操作?
如果使用 XPath 是唯一的选择,您可以在元素的选择器中使用逻辑运算符。
例如下面的 XPath:
//div[starts-with(@class, 'myclass')]|//div[starts-with(@class, 'myclass active')]
上面的 XPath 表示“找到所有 div 标签,其中 class 以 'myclass' 开头,或者所有 div 标签以 'myclass active' 开头.
其他 XPath 表达式(如 contains)可用于匹配 element/collection 元素的任何属性中的文本。在选择选择器时要小心,以确保只选择您想要选择的元素。