Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 简单的问题——NoTouchElementException和WebDriverException在这个函数中意味着什么?_Python_Function_Selenium_Methods_Beautifulsoup - Fatal编程技术网

Python 简单的问题——NoTouchElementException和WebDriverException在这个函数中意味着什么?

Python 简单的问题——NoTouchElementException和WebDriverException在这个函数中意味着什么?,python,function,selenium,methods,beautifulsoup,Python,Function,Selenium,Methods,Beautifulsoup,我正在尝试在我当前的工作流程中加入一个web刮板。我对Python和web抓取非常陌生,在开发当前解决方案之前,我正在研究一个示例问题 以下是我认为下面代码的意思 我们正在定义一个从当前页面中提取类名的函数。我以前从未见过“try”和“except”块,但它们看起来很直观:代码尝试根据类名查找元素,然后将它们放入列表中 ###接下来,我们定义一个从当前页面提取类名的函数。 def按类名称获取列表(class\u name=“main\u image”): ###按类名获取所有元素中的文本列表

我正在尝试在我当前的工作流程中加入一个web刮板。我对Python和web抓取非常陌生,在开发当前解决方案之前,我正在研究一个示例问题

以下是我认为下面代码的意思

我们正在定义一个从当前页面中提取类名的函数。我以前从未见过“try”和“except”块,但它们看起来很直观:代码尝试根据类名查找元素,然后将它们放入列表中


###接下来,我们定义一个从当前页面提取类名的函数。
def按类名称获取列表(class\u name=“main\u image”):
###按类名获取所有元素中的文本列表
尝试:
所有元素=驱动程序。通过类名称(类名称)查找元素
element_list=[x.text,如果len(x.text)>0,则所有_元素中的x为x]
除(NoSuchElementException、WebDriverException)外,e:
打印(e)
返回元素列表

我对“除外”块的含义感到困惑。selenium中的NoTouchElementException和WebDriverException到底是什么?我们为什么要打印它们?仅用于错误处理?

如果没有匹配
类名的元素,则不会抛出任何TouchElementException

WebDriverException
基本上代表“任何硒异常”。例如,如果在检索某个元素的文本之前,该元素被class by匹配后被删除,则可能会发生这种情况

打印不携带任何特定的逻辑,很可能留在这里进行调试。它将打印异常类型及其携带的信息,例如与异常相关的元素。实际上,由于未定义
element\u list
,程序将在这一行之后立即失败