编辑:我在我最初发布的表数据中犯了一个错误。更正在加粗。硒RC RC CSS选择器与相邻兄弟组合选择错误的表行
我正在为Selenium RC编写Python。在下面的文档中,我试图选择包含“美国”和“1”的表格行,但选择器始终选择包含“美国”和“”的行。我想我知道为什么。看起来像:contains()与214中的“1”匹配,并选择该行。
这是我的选择语法:
self.selenium.click("css=table#filltbl tr td:contains(%s) + td:contains(%s)"%(country, area_code))
其中国家== “美国” 和AREA_CODE == “1”。似乎邻居兄弟组合者被忽略。
我该如何制作:contains()完全匹配“1”?
感谢和抱歉的混淆。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
. . .
<table class="wrapper" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<table id="filltbl" class="tfill" cellspacing="0" cellpadding="0">
<tbody>
<tr class="fill">
<td>United States</td>
<td>214</td>
<td> </td>
</tr>
<tr class="fill">
<td>United States</td>
<td>1</td>
<td> </td>
</tr>
</tbody>
</table>
. . .
似乎没有是已被忽略的兄弟组合子是有帮助的......反正你可以尝试的XPath定位器呢? – BoltClock
感谢您的回复。你是对的。兄弟姐妹组合者不被忽视。我在发布的数据中犯了一个错误,并且我纠正了这个问题。我不想使用XPath,因为它太慢了。 – paul
我不认为你只能用XPath做CSS选择器的精确匹配。 – BoltClock