在Selenium / Python中没有点击单选按钮

时间:2017-04-16 09:59:55

标签: python selenium

伙计,这让我发疯了。我有以下

的片段
<label class="" for="M37_Q_POSWECHSEL_BETT_B1">
    <input id="M37_Q_POSWECHSEL_BETT_B1" name="M37_Q_POSWECHSEL_BETT" value="B1" aria-describedby="M37_Q_POSWECHSEL_BETT_error_0" aria-invalid="true" data-clipboard="M37_Q_POSWECHSEL_BETT#B1" type="radio">
    0
</label>

在这里,我想选择单选按钮并使用以下代码选择它们:

radios = driver.find_elements_by_xpath("//input[starts-with(@id, 'M37_Q_')][@value='B1']")
for radio in radios:
    # just check the id
    print(radio.get_attribute('id'))
    radio.click()

正确选择有问题的元素。但是,它不会被选中,也不会产生任何明显的错误。我们可以使用.click()在这里选择单选按钮吗?这是某种处理程序问题吗?

2 个答案:

答案 0 :(得分:1)

试试这个,

driver.execute_script("arguments[0].checked = true;",element)

您也可以尝试向元素发送ENTER密钥。

答案 1 :(得分:-2)

尝试使用以下Css选择器:

        Actions action = new Actions(drive);

        action.moveToElement(drive.findElement( By.cssSelector("label > input[id^='M37_Q_']"))).build().perform();

        drive.findElement( By.cssSelector("label > input[id^='M37_Q_']")).click();