【问题标题】:How to activate checkbox inside a Dropdown with Python Selenium如何使用 Python Selenium 在下拉菜单中激活复选框
【发布时间】:2021-07-05 14:56:07
【问题描述】:

如何使用 Python Selenium 检查下拉菜单中的复选框?

在一个列表中,我有很多复选框。我想激活我通过代码传递的复选框,但我无法实现它。

这是网页的结构,我看不到复选框的selector Id,只能看到data-value或文本值名称Texto1Texto2Texto3等。

Image

所以我的问题是如何检查带有数据值或文本名称的复选框?

我正在使用此代码:

from selenium import webdriver
from selenium.webdriver.support.select import Select
driver = webdriver.Chrome('C:/Driver/chromedriver.exe')
driver.implicitly_wait(30)
driver.set_page_load_timeout(50)
driver.get('http://midominio.com/')
driver.implicitly_wait(40)
driver.find_element_by_id("dropdownMenu2").click()

【问题讨论】:

  • 没有dropdownMenu2 id
  • 是的,但这是一个下拉菜单,在这个下拉菜单中有所有的复选框,这里我现在不知道如何选中这些复选框。 @vitaliis
  • 添加一个你测试的页面,主页面没有这样的元素
  • 不明白你的意思,不好意思,web领域不是我掌握的。请你把你的想法更准确一点好吗? @vitaliis
  • 我在这里看不到您要查找的元素midominio.com

标签: python selenium selenium-webdriver


【解决方案1】:

点击第一个复选框使用:

driver.find_element_by_css_selector("#Plants00>li:nth-of-type(1)>a>input").click()

第二:

driver.find_element_by_css_selector("#Plants00>li:nth-of-type(2)>a>input").click()

同时删除重复的implicitly_wait。你真的不需要它。

【讨论】:

  • 不客气。下次发布问题时,如果可能,请添加实际页面。会更有帮助。
【解决方案2】:

您可以使用像 //*[text()='Texto1'] 这样的 xpath 来选择复选框

【讨论】:

    猜你喜欢
    • 2012-10-05
    • 2017-02-14
    • 1970-01-01
    • 1970-01-01
    • 2022-07-08
    • 2023-01-19
    • 2020-11-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多