【问题标题】:Unable to click on a radio button with Selenium无法单击带有 Selenium 的单选按钮
【发布时间】:2021-08-13 11:24:13
【问题描述】:

我正在尝试使用 Selenium 单击单选按钮。是中间的按钮。

我不知道如何按下按钮,因为该元素的所有属性都在输入标签内(如图所示),而这不是“在”按钮上。 如果您检查按钮本身,<span class="checkmark"></span> 会被标记。

我尝试使用 Xpath 查找按钮元素。

cc_checkb = wait.until(EC.element_to_be_clickable((By.XPATH, "//input[@id = 'payment_anycreditcard']/span[@class = 'checkmark']"))).click()

还有其他几种组合不起作用。 仅使用span[@class = 'checkmark'] 效果不佳,因为另外两个按钮是使用相同的“span 标签”构建的。

【问题讨论】:

  • 作为学生工作者测试 ALDI?
  • 是的,没错!

标签: python selenium xpath bots


【解决方案1】:

尝试点击label 元素,XPath:

//label[@for='payment_anycreditcard']

【讨论】:

  • 你介意再帮我一次吗?还有另一个单选按钮,但这次与另一个按钮的唯一区别是值。 <label class="container"> <input type="radio" name="dynvalue[anykktype]" value="V" class="custom-control-input"> <img src="https://www.sued.aldi-liefert.de/out/aldi/img/logo_visa.svg" class="logo- payment" alt=""> VISA <span class="checkmark"></span> </label>代码格式有点乱
  • 如果有其他问题我会知道答案 - 当然
  • 所以有维萨卡和万事达卡。两个容器是相同的,除了值。 Visa有'V'和万事达卡'M'。我试过例如wait.until(EC.element_to_be_clickable((By.XPATH, "//input[@type= 'radio'][@value='V']")))
  • 你能问一个单独的问题吗?如果可能的话,在此处添加指向网页的链接或至少一段相关的 HTML
  • 我做到了。将部分源代码发布为图片,因为链接不起作用。
【解决方案2】:
//b[text()='Kreditkarte']//following-sibling::div/input[@id ='payment_anycreditcard]

替换您的 xpath 以单击 Kreditkarte 单选按钮

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-28
    • 1970-01-01
    • 2015-10-18
    • 1970-01-01
    • 1970-01-01
    • 2015-09-26
    • 1970-01-01
    • 2019-08-18
    相关资源
    最近更新 更多