硒,结合CSS问题

时间:2019-01-10 14:58:47

标签: java css selenium selenium-webdriver

我在使用CSS时遇到问题(找不到正确的书写方式)

<div class="d-flex flex-row align-items-center justify-content-end col-6">
<button disabled="" class="btn btn-primary disabled">'Text 1'</button>
<button disabled="" class="btn btn-primary disabled">'Text 2'</button>
<button disabled="" class="btn btn-primary disabled">'Text 3'</button>
<button disabled="" class="btn btn-primary disabled">'Text 4'</button>
<button disabled="" class="btn btn-primary disabled">'Text 5'</button>
<button disabled="" class="btn btn-primary disabled">'Text 6'</button>
</div>

例如,如果我想选择“文本#3”,如何记录下来? 还有,我该如何写下parrent[class='smth'] child['Text 3']

3 个答案:

答案 0 :(得分:0)

如果我正确理解了这一点,则可以执行以下操作:

<div class="d-flex flex-row align-items-center justify-content-end col-6">
  <button disabled="" class="btn btn-primary disabled">'Text 1'</button>
  <button disabled="" class="btn btn-primary disabled">'Text 2'</button>
  <button disabled="" class="btn btn-primary disabled">'Text 3'</button>
  <button disabled="" class="btn btn-primary disabled">'Text 4'</button>
  <button disabled="" class="btn btn-primary disabled">'Text 5'</button>
  <button disabled="" class="btn btn-primary disabled">'Text 6'</button>
</div>

CSS:

div button:nth-child(2) { background: red; }

示例代码笔:https://codepen.io/brooksrelyt/pen/ZVMPwR

答案 1 :(得分:0)

CSS选择器(Selenium支持至少一个选择器)不允许通过文本查找元素(不支持{:contains()伪类)。您可以尝试使用如下所示的XPath:

//div[contains(@class, 'flex-row')]/button[text()='Text 3']

答案 2 :(得分:0)

你不能

CSS是一种标记语言。根据{{​​3}},选择器基于结构而不是内容。

有人在谈论添加the specifications,但我想它已被废弃。