当前位置: 首页 > 知识库问答 >
问题:

python Selenium:遍历具有动态ID的单选按钮并选择

公西培
2023-03-14

使用python+Selenium Web驱动程序,我尝试为保险网站自动选择某些单选按钮。问题是单选按钮的ID是动态的。例如,当生成一个新的保险应用程序时,会生成一个新的页面,并且屏幕上的单选按钮已经动态创建了ID(参见下面的HTML示例)

<div class="data">
<input type="radio" id="subj_received_33965" name="subj_status[33965]" value="received" class="radio form-element-left-radio"><label for="subj_received_33965" class="label-right">Received</label>
<input type="radio" id="subj_waived_33965" name="subj_status[33965]" value="waived" class="radio form-element-left-radio multi-radio-line-spacer" checked=""><label for="subj_waived_33965" class="label-right">Waived</label>
<input type="radio" id="subj_open_33965" name="subj_status[33965]" value="open" class="radio form-element-left-radio multi-radio-line-spacer"><label for="subj_open_33965" class="label-right">Open</label>
</div>

因此,使用上面的示例,我想单击id为“subj_received_33965”的单选按钮。但是,因为元素是动态生成的,所以在下一次自动化运行时id会有所不同(并且脚本会失败)。

共有1个答案

林劲
2023-03-14

您始终可以通过CSS选择器或XPath:

driver.find_element_by_css_selector("input[id^=subj_received]")
driver.find_element_by_css_selector("input[id*=subj_received]")

其中^=表示“以”开头,*=表示“包含”。

如果要检查value属性:

driver.find_element_by_css_selector("input[value=received]")

您可以同时检查:

driver.find_element_by_css_selector("input[value=received][id^=subj_received]")
 类似资料:
  • 我有一个调查,有一堆问题,包括实际问题,一些是或否的单选按钮和一个评论框。我加了一张照片给你看。下面是填充问题后的html结构。 此信息通过web服务和jquery动态填充。看起来这些问题是动态填充的,每个问题都包含相同的类名、范围名等。有40多个问题被附加到div中。 我想做的是选择一个特定的问题并选中一个特定的单选按钮。然后,如果单击某个单选按钮,则会自动选中其他单选按钮。我相信Jquery是

  • 问题内容: 我已经在单选组中动态创建了两个单选按钮,并选中其中一个。我需要在我按下另一个按钮时将其值保存在字符串中。但是我已经为此实现了,但是第一次没有用。这是我的代码。 问题答案: xml文件 Java代码

  • 这是一个 列表 拓展,可以用来创建单选和复选按钮组。 复选按钮组 <div class="list-block"> <ul> <!-- Single chekbox item --> <li> <label class="label-checkbox item-content"> <!-- Checked by default -->

  • 我是Selenium IDE的新手,在这里需要选择单选按钮的帮助。就我而言,我正在尝试为由单选按钮组成的特定表单生成一个测试用例。当我运行命令以单独选择其中一个单选按钮时,该函数可以工作,但如果我运行整个测试用例,则单选按钮不会被选中并给出找不到Element Id的错误。这是我的html: 我的IDE命令:单击Target: id=ProjectSolutionsProject0。我尝试了ver

  • 我已经用php或js实现了问题的第一部分。我使用php来回显选中的属性。这里的问题是,通过onchange event选择时,收音机输入有其他可见的输入。但是,如果默认情况下选择/检查了任何收音机,则在我更改收音机选择之前,不会显示条件输入。因此,问题是,如何在默认情况下选中它,并且仍然显示相应的条件输入。 当选择single时,其他输入变为可见。同样的情况也适用于多人。如果php代码中指定的条件

  • 主要内容:创建单选按钮,单选按钮组,单选按钮事件,单选按钮焦点单选按钮通常组合在一起,以便用户进行单选,即用户只能在单选按钮列表中选择一个项目。 例如,当选择鞋子尺寸时,我们通常从列表中选择一个尺寸。 单选按钮只能执行:选择或取消选择。 以下代码显示,当放置在中时,只能选择一个。 上面的代码生成以下结果。 创建单选按钮 包中的类有两个构造函数。 要为其标签创建一个带有空字符串的单选按钮,然后再设置标签。 要创建具有指定标签的单选按钮。 方法带有参数可以显式选