python - 返回一个只在某些时候使用的对象

标签 python selenium pageobjects

Python - 页面对象模型

返回一个只会在 80% 的情况下使用的页面对象是否违反了任何最佳实践?

def delete_list_item_by_name(self, item_name):
    ... code to find the proper list item ...
    row_del_btn = self.helpers.wait().until(ec.visibility_of(row.find_element(*self.DELETE_BTN)))
    ActionChains(self.driver).move_to_element(row_del_btn).click(row_del_btn).perform()
    return DeleteConfirmModal(self.driver)

问题是 deleteConfirmModal(弹出窗口)仅在 80% 单击删除按钮后弹出。所以对于是否应该返回它的page对象众说纷纭。页面对象没有 init 因此不会导致失败。返回页面对象更方便。

最佳答案

您实际上返回了对该对象的引用,这意味着,如果它未被使用,它将被垃圾收集(从内存中删除)。

它不会在性能方面造成重大问题。

就最佳实践而言,您应该适本地命名您的函数,以表明它返回的内容pop_by_name 可能会更好(pop 表示删除并返回)。

关于python - 返回一个只在某些时候使用的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54775884/

相关文章:

python - 仅对员工启用 Django DEBUG = True?

python - gmail API 中的观看请求不起作用

java - 使用 WebDriver 在基于 CSS 的菜单中选择一个选项

javascript - 使用页面对象支持的 Protractor 测试多个浏览器

selenium-webdriver - 当函数没有返回值时,使用页面对象模型返回 promise 或在函数中使用 async/await 是更好的做法

python - 检查一个项目是否在嵌套列表中

python - Shared Cassandra Session 失去连接,应用必须重启

python - Selenium -python 元素不可点击

javascript - 单击链接时如何更新当前选项卡的 URL?