无法使用 Selenium python 单击下拉元素以响应 UI

问题描述 投票:0回答:0

我想点击复选框,但尝试时出现以下错误。

有人可以建议我如何继续点击复选框。

硒代码:-

    def active_time(self, card_id, screenshot_path): driver = self.driver driver.implicitly_wait(15) try: time.sleep(5) self.get_element('element_to_be_clickable', 60, LINK_TEXT='Dashboard').click() self.get_element('element_to_be_clickable', 60, XPATH="//li[starts-with(@class,'nav-item')]//button[contains(., 'RH') and contains(., "+str(card_id)+")]").click() print("Clicked on card" + str(card_id)) self.get_element('element_to_be_clickable', 60, XPATH="//button[contains(.,'Table View')]").click() print("Clicked on Table View") self.get_element('element_to_be_clickable', 60, XPATH="//div[@class='dropdown-heading']/div[@class='dropdown-heading-value']").click() print("Clicked on table-view drop down") checkboxe1 = driver.find_elements_by_xpath("//div[@class= 'item-renderer ']//input[@type = 'checkbox']") time.sleep(5) print("located checkboxes") print(len(checkboxe1)) print(checkboxe1) checkboxe1 = checkboxe1[1] print(str(checkboxe1)) checkboxe2 = self.get_element('element_to_be_clickable', 60, XPATH="//div[@class= 'item-renderer ']//input[@type = 'checkbox']//span[contains(.,'ACTIVE TIME')]") time.sleep(5) if checkboxe1.is_selected(): print("All checkboxes selected") checkboxe1.click() print("Unchecked All items from dropdown") if checkboxe2.is_selected(): print("Active is Selected") self.get_element('element_to_be_clickable', 60, XPATH="//div[@class= 'item-renderer ']//input[@type = 'checkbox']").click() print("Clicked on table-view drop down") time.sleep(5) driver.save_screenshot(screenshot_path) self.get_element('element_to_be_clickable', 60, XPATH="//div[@class= 'item-renderer ']//input[@type = 'checkbox']").click() print("Clicked on table-view drop down") print("Took Screenshot") checkboxe1.click() print("Selected all items from dropdown") else: print("Active not selected") checkboxe2.click() print("Selected active time") self.get_element('element_to_be_clickable', 60, XPATH="//div[@class= 'item-renderer ']//input[@type = 'checkbox']").click() print("Clicked on table-view drop down") time.sleep(5) driver.save_screenshot(screenshot_path) self.get_element('element_to_be_clickable', 60, XPATH="//div[@class= 'item-renderer ']//input[@type = 'checkbox']").click() print("Clicked on table-view drop down") print("Took Screenshot") checkboxe1.click() print("Selected all items from dropdown") else: print("All checkboxes not slected") checkboxe1.click() print("All checkboxes selected") checkboxe1.click() print("Unchecked All items from dropdown") if checkboxe2.is_selected(): print("Active is Selected") self.get_element('element_to_be_clickable', 60, XPATH="//div[@class= 'item-renderer ']//input[@type = 'checkbox']").click() print("Clicked on table-view drop down") time.sleep(5) driver.save_screenshot(screenshot_path) self.get_element('element_to_be_clickable', 60, XPATH="//div[@class= 'item-renderer ']//input[@type = 'checkbox']").click() print("Clicked on table-view drop down") print("Took Screenshot") checkboxe1.click() print("Selected all items from dropdown") else: print("Active not selected") checkboxe2.click() print("Selected active time") self.get_element('element_to_be_clickable', 60, XPATH="//div[@class= 'item-renderer ']//input[@type = 'checkbox']").click() print("Clicked on table-view drop down") time.sleep(5) driver.save_screenshot(screenshot_path) self.get_element('element_to_be_clickable', 60, XPATH="//div[@class= 'item-renderer ']//input[@type = 'checkbox']").click() print("Clicked on table-view drop down") print("Took Screenshot") checkboxe1.click() print("Selected all items from dropdown") time.sleep(5) except Exception as e: print(str(e)) self._result = "FAIL" raise AssertionError('%s:' " Click on active time is failed" % (self._result))

运行上述代码后出错:- “list”对象在 selenium python 中没有“click”属性

HTML代码:-

< div class = "panel-content" > <div class="select-panel" role="listbox">
    <ul class="options">
        <label class="select-item " role="option" aria-selected="false" tabindex="0">
            <div class="item-renderer ">
                <input type="checkbox" tabindex="-1">
                    <span>Select All</span>
                </div>
            </label>
            <li>
                <label class="select-item selected" role="option" aria-selected="true" tabindex="1">
                    <div class="item-renderer ">
                        <input type="checkbox" tabindex="-1" checked="">
                            <span>STATE</span>
                        </div>
                    </label>
                </li>
                <li>
                    <label class="select-item selected" role="option" aria-selected="true" tabindex="2">
                        <div class="item-renderer ">
                            <input type="checkbox" tabindex="-1" checked="">
                                <span>IPV4 ADDRESS</span>
                            </div>
                        </label>
                    </li>
                    <li>
                        <label class="select-item selected" role="option" aria-selected="true" tabindex="3">
                            <div class="item-renderer ">
                                <input type="checkbox" tabindex="-1" checked="">
                                    <span>IPV6 ADDRESS</span>
                                </div>
                            </label>
                        </li>

python selenium-webdriver
© www.soinside.com 2019 - 2024. All rights reserved.