0

知道如何从这样定义的元素中选择一个选项:

<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 属性的引号内的引号。

4

1 回答 1

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.......

这是 selenium 选择器所看到的:

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

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

sel.select(r"css=select[onchange='onIsIsNot(\'%s\', this)']"%select.......
于 2012-05-17T15:59:21.813 回答