选择4个具有相同CSS类的按钮
本文关键字:CSS 按钮 4个 选择 | 更新日期: 2023-09-27 18:12:53
然后我试试这个,它运行正常:
driver.FindElement(By.CssSelector(".follow-text")).Click();
,但只有第一个运行ok,我怎么能选择第二个按钮,它具有相同的CSS"。follow-text"?
添加数字[2]不适合我:
driver.FindElement(By.CssSelector(".follow-text")).Click();
driver.FindElement(By.CssSelector(".follow-text[2]")).Click();
任何帮助将不胜感激
XPATH非常依赖于类的顺序。一些框架可能会将一个类放在另一个类之前,并在每次页面呈现时更改它。看看其中一个xpath选择器。
//button[@class='user-actions-follow-button js-follow-btn follow-button btn small small-follow-btn']
匹配:
<button class="user-actions-follow-button js-follow-btn follow-button btn small small-follow-btn">
如果输出为?:
<button class="user-actions-follow-button btn small follow-button small-follow-btn">
现在你的选择器是完全无用的,因为它严重依赖于词序。如果使用CSS,可以这样使用.
:
By.CssSelector("button.user-actions-follow-btn.btn.small.follow-button.small-follow-btn")
这个选择器不关心类的顺序,只要它包含所有的类以某种顺序。
如果你需要更多关于这方面的信息,看看这个页面,它可能有助于为Selenium制定有效的CSS选择器