如果该字段存在,则检查它是只读的还是n

2024-04-24 12:02:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图检查该字段是否存在,如果存在,我需要确保它是只读字段。在

这是我尝试过的方法,但我认为这不是一种非常有效的方法:

         if self.driver.find_element_by_xpath("//input[@id='cname']"):
            self.driver.find_element_by_xpath("//input[@id='cname' and @readonly='readonly']")
        elif self.driver.find_element_by_xpath("//input[@id='address']"):
            self.driver.find_element_by_xpath("//input[@id='address' and @readonly='readonly']")
        elif self.driver.find_element_by_xpath("//input[@id='address2']"):
            self.driver.find_element_by_xpath("//input[@id='address2' and @readonly='readonly']")
        elif self.driver.find_element_by_xpath("//input[@id='city']"):
            self.driver.find_element_by_xpath("//input[@id='city' and @readonly='readonly']")
        # country
        elif self.driver.find_element_by_xpath("//input[@id='country']"):
            self.driver.find_element_by_xpath("//input[@id='country']/../select[@disabled='disabled']")

我也尝试过使用此方法,但问题是,如果字段不为只读,则它不会抛出错误:

^{pr2}$

Tags: and方法selfidinputbyaddressdriver
1条回答
网友
1楼 · 发布于 2024-04-24 12:02:58

您可以使用element.is_enabled()来判断元素是否为只读。如果它是只读的,is_enabled()将返回false。见the docs。在

当我编写我将重用的代码时,我编写了一个函数。在本例中,我将编写一个接受定位器参数的函数,如果元素存在并且is_enabled()false,则返回true。然后为每个元素调用这个函数并断言每个返回值是trueThis answer如果需要帮助将定位器作为参数传递,应该可以开始使用。在

相关问题 更多 >