四时宝库

程序员的知识宝库

Python,regex,AtributeEror:“NoneType”对象没有属性“group

我使用Regex从上的网页搜索框中检索某些内容selenium.webDriver。

searchbox = driver.find_element_by_class_name("searchbox")
searchbox_result = re.match(r"^.*(?=(\())", searchbox).group()

只要搜索框返回与正则表达式匹配的结果,代码就起作用。但是,如果搜索框用字符串答复,则会"No results"出现错误:

AttributeError:'NoneType'对象没有属性'group'

如何使脚本处理这种"No results"情况?

解决方案

我设法弄清楚了这个解决方案,它与忽略group()搜索框答复是正"No results"则表达式不匹配正则表达式的情况有关。

try:
 searchbox_result = re.match("^.*(?=(\())", searchbox.group()
except AttributeError:
 searchbox_result = re.match("^.*(?=(\())", searchbox)

或者简单地:

try:
 searchbox_result = re.match("^.*(?=(\())", searchbox.group()
except:
 searchbox_result = None

最后多说一句,小编是一名python开发工程师,这里有我自己整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。想要这些资料的可以关注小编,并在后台私信小编:“01”即可领取。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接