0

我目前正在使用 java 绑定在 Eclipse 上工作,并且正在自动化电子商务网站。我正在使用 Selenium 2 (Webdriver) 编写自动化脚本,但在尝试通过 css 获取特定元素时遇到问题。我的偏好是 css,因为 xpath 的性质不稳定(尤其是每周在我们的网站上实施的更改)。谁能帮助我?提前致谢。我需要单击两个按钮,它们都很相似。第一个是继续按钮:

<td class="content" style="vertical-align: bottom; ; background: url(http://g-ecx.images-amazon.com/images/G/01/digital/video/avod-1-5/dp-sprite-total._V156422041_.png) no-repeat -3px -153px; padding: 0px 4px 0px 11px;">       Yes, continue with my purchase     </td>

第二个是取消按钮:

<td class="content" style="vertical-align: bottom; ; background: url(http://g-ecx.images-amazon.com/images/G/01/digital/video/avod-1-5/dp-sprite-total._V156422041_.png) no-repeat -3px -181px; padding: 0px 4px 0px 11px;"> Cancel </td>

如您所见,它们都有相似的结构,但仅在文本上有所不同。现在我可以使用这个 -css=td.content

但这带来了两个元素并且脚本失败了。我需要做的是输入一些会使用文本的东西。预先感谢您的帮助

4

1 回答 1

0

CSS 选择器不能以这种方式工作。有一个叫做 : contains () 的东西,但它被删除了。您可以像这样为每个td元素添加第二个类:

<td class="content action_yes"...>
<td class="content action_no"...>

然后你的 CSS 选择器看起来像这样(在 jQuery 中只是因为它很干净,这种方法是标准 CSS)

$('.action_yes')
$('.action_no')
于 2012-10-18T17:39:56.457 回答