选择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();

任何帮助将不胜感激

选择4个具有相同CSS类的按钮

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选择器