【问题标题】:Selenium2Library code completion in PyCharmPyCharm 中的 Selenium2Library 代码完成
【发布时间】:2014-08-26 05:04:31
【问题描述】:

我正在尝试使用 Python 为 Robot Framework 创建一个基本库扩展,并且我使用 PyCharm 作为编辑器。对于直接导入的库,代码完成工作正常,但在这种情况下,我通过一种方法间接导入 Selenium2Library:

def get_current_browser():
    browser = BuiltIn().get_library_instance('Selenium2Library')._current_browser()
    return browser

我从其他方法调用类似

driver = get_current_browser()

这成功地从 Robot Framework 中获取了 webdriver 浏览器实例,让我可以随心所欲,但是当我去编辑“驱动程序”变量时,我没有得到代码提示。有没有办法在这种情况下获得提示?

这是完整的代码:

from robot.libraries.BuiltIn import BuiltIn
from Selenium2Library.keywords.keywordgroup import KeywordGroup
import logging


def get_current_browser():
    browser = BuiltIn().get_library_instance('Selenium2Library')._current_browser()
    return browser


class MyLibrary(KeywordGroup):

    def get_title_via_python(self):
        driver = get_current_browser()
        title = driver.title
        logging.warn("checking title %s" % title)
        return title

【问题讨论】:

    标签: python selenium pycharm robotframework


    【解决方案1】:

    尝试在你的函数中添加一个文档字符串来帮助 PyCharm。

    from selenium.webdriver import Remote # Remote imported only for code completion
    
    
    def get_current_browser():
        """
        :rtype: Remote
        """
        browser = BuiltIn().get_library_instance('Selenium2Library')._current_browser()
        return browser
    

    更多http://www.jetbrains.com/pycharm/webhelp/type-hinting-in-pycharm.html

    【讨论】:

    • 太完美了!谢谢!
    • 如果这是完美的,您应该接受答案,这样它就不会出现在未回答的问题下
    • 完成。感谢您的提醒。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-15
    • 1970-01-01
    • 2011-05-15
    • 2017-04-30
    • 1970-01-01
    • 2022-07-20
    • 1970-01-01
    相关资源
    最近更新 更多