我使用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”即可领取。