用于选择元素的Selenium RC CSS定位器

时间:2012-05-15 20:37:29

标签: python selenium css-selectors selenium-rc

任何想法如何从如此定义的元素中选择一个选项:

<select onchange="onIsIsNot('COND_MT_USER_MOB_ACTIVE', this)">
<option selected="" value="512">Cellular</option>
<option value="256">WLAN</option>
<option value="768">Cellular or WLAN</option>
</select>

我正在使用Python并尝试了以下各种变体:

select = "COND_MT_USER_MOB_ACTIVE"
value = "Cellular"
sel.select("css=select[onchange='onIsIsNot(\'%s\', this)']"%select, "label=%s"%value)

我认为我没有在引号内的引号内使用正确的onchange属性。

1 个答案:

答案 0 :(得分:0)

因此,如果您可以添加id属性,则应该很容易:

sel.select("id=%s"%id_val, "label=%s"%value)

那就是说,如果你做不到,请考虑在哪里逃脱:

In [1]: z = "\'"

In [2]: z
Out[2]: "'"

所以在以下一行:

sel.select("css=select[onchange='onIsIsNot(\'%s\', this)']"%select.......

这是硒选择器所看到的:

"css=select[onchange='onIsIsNot('COND_MT_USER_MOB_ACTIVE', this)']"

请注意CSS选择器不再转义单引号。我怀疑这是你需要的,虽然我还没有测试过它(查看字符串开头的r,看一下“原始字符串”):

sel.select(r"css=select[onchange='onIsIsNot(\'%s\', this)']"%select.......