详细信息- 要选择下拉列表,但ID和类已更改。我也尝试使用硒 CSS选择器进行选择,但没有结果。
想要一个一个地单击所有下拉菜单,但是id和类是动态更改
代码-
jQuery('.yui3-widget.yui3-c-gizmo.yui3-c-button.yui3-c-button-content.description.btn.btnSilvericon.button-primary.icon-right-dropdown.s-btn-all').eq(1).click()
谢谢。
答案 0 :(得分:2)
尝试以下CSS定位器:
button.description.btnSilvericon[id^='yui'][title='All']
实践CSS选择器来处理动态元素:
答案 1 :(得分:0)
您可以使用以下路径:
//button[starts-with(@id, 'yui') and @title='All']
或
//span[starts-with(@id, 'yui') and contains(.,'All')]
对于CSS:
button[id^='yui'][title='All'] or
span[id^='yui']
^ =以CSS(Shift + 6)开头
希望对您有帮助。
答案 2 :(得分:0)
如果要单击所有下拉元素,仅使用一个类或所有类(但仅限于它们)共有的几个类的组合就足够了。您无需指定随机ID或类。
如果您正在使用Selenium,请使用findElements
返回所有匹配的元素,然后在此列表上循环单击以单击其元素。如果您只想指定一个类名,请使用by.class
定位符,或者使用by.cssSelector
来指定由点前缀和分隔的类的组合。