Python:如何根据是否发生错误来定义变量?

时间:2017-02-22 16:05:25

标签: python selenium screen-scraping

基本上我正在使用selenium进行网络抓取,如果没有错误发生,需要将变量定义为一件事,或者如果发生错误则需要另外修改。

段:

    try:
        raw_cc_timeframe = driver.find_element_by_xpath("//*[@id='nearbyStore']/div/div/div/div/div/div/ul/li[1]/div[1]/p")
        cc_timeframe = raw_cc_timeframe.text
    except NoSuchElementException:
        cc_timeframe = ""

如果元素存在,我希望名为cc_timeframe的变量被称为元素的名称,但如果不存在,我希望变量为空。

我不断得到一个无约束的错误,尽管阅读了很多帖子,但我们无法弄明白为什么。

我已经尝试将变量设置为全局变量,但是当我运行此函数数百次时,变量似乎不会每次重置,从而导致错误的值。

我对这一切都很陌生,所以任何帮助都会非常感激。

1 个答案:

答案 0 :(得分:0)

在进行搜索之前尝试设置cc_timeframe=""并使用pass作为未找到异常的响应

try:
    cc_timeframe = "" 
    raw_cc_timeframe = driver.find_element_by_xpath("//*[@id='nearbyStore']/div/div/div/div/div/div/ul/li[1]/div[1]/p")
    cc_timeframe = raw_cc_timeframe.text
except NoSuchElementException:
    pass