按钮文本的Selenium css选择器

时间:2016-06-06 08:18:32

标签: java selenium-webdriver css-selectors

HTML如下所示:

<button class="btn btn-primary pull-right" type="submit">Sign in</button>

有多个按钮具有相同的类和类型值。但是我需要使用CSS选择器单击“登录”按钮。我尝试了以下但没有一个正在工作

@FindBy(how=How.CSS, using="button:contains('Sign in')") WebElement signInButton;

@FindBy(how=How.CSS, using=".btn btn-primary pull-right[text='Sign in']") WebElement signInButton;

还请指出一些复杂的CSS选择器示例站点。

2 个答案:

答案 0 :(得分:4)

CSS选择器不支持文本评估。改为使用XPath:

@FindBy(how=How.XPATH, using="//button[text()='Sign in']")
WebElement signInButton;

答案 1 :(得分:0)

嗨,请按照下面的说法考虑您的登录按钮是列表中的第一个(如果不是根据您的要求更改)

driver.findElements(By.cssSelector(".btn.btn-primary.pull-right")).get(0).click();