正则表达式在pywinauto中不起作用,除非我提供全文

时间:2016-10-12 12:22:14

标签: python regex pywinauto

以下是我正在使用的代码段:

browserWin = application.Application()
browserWin.Start(<FirefoxPath>)
# This starts the Firefox browser. 
browserWin.Window_(title_re="\.* Firefox \.*")

如果我使用表达式:“。* Mozilla Firefox Start Page。*”,它可以使用。但是,如果我只使用部分文本,则不起作用。

我在这里做错了什么?

2 个答案:

答案 0 :(得分:2)

使用&#34; \&#34;将.转义为{1}}意味着真正的点符号应该在文本的开头。只需删除&#34; \&#34;。

答案 1 :(得分:0)

请参阅pywinauto源代码中的摘录:

title_regex = re.compile(title_re)
def _title_match(w):
    t = handleprops.text(w)
    if t is not None:
        return title_regex.match(t)
    return False

return title_regex.match(t)行表示正则表达式传递给re.match方法,因此,正则表达式模式锚定在字符串start处。

要匹配部分匹配,您需要使用.*启动模式:".* FireFox "