Python Selenium脚本在添加If-Else后崩溃

Python Selenium脚本在添加If-Else后崩溃,python,selenium,Python,Selenium,我只需要一点帮助,因为我已经开发了我的小脚本,但添加新功能会产生问题。问题在于添加If-else语句。如果找不到任何元素,脚本将崩溃,因此我希望通过放置ifelse条件绕过它,即,如果元素存在,它应单击按钮,否则它将移动到下一行 下面是我的代码 driver.find_element_by_css_selector('input.whsOnd.zHQkBf').send_keys(password) time.sleep(2) driver.find_element_by_id

我只需要一点帮助,因为我已经开发了我的小脚本,但添加新功能会产生问题。问题在于添加If-else语句。如果找不到任何元素,脚本将崩溃,因此我希望通过放置ifelse条件绕过它,即,如果元素存在,它应单击按钮,否则它将移动到下一行

下面是我的代码

driver.find_element_by_css_selector('input.whsOnd.zHQkBf').send_keys(password)

    time.sleep(2)
    driver.find_element_by_id("passwordNext").click()
    time.sleep(2)

    driver.get(comment_url)
    time.sleep(2)

    driver.find_element_by_xpath("//button[@class='yt-uix-button yt-uix-button-size-default yt-uix-button-default yt-uix-button-empty yt-uix-button-has-icon no-icon-markup comment-action-buttons-renderer-thumb yt-uix-sessionlink sprite-comment-actions sprite-like i-a-v-sprite-like']").click()
    time.sleep(2)
    driver.find_element_by_xpath("//button[@class='yt-uix-button yt-uix-button-size-small yt-uix-button-link comment-renderer-reply comment-simplebox-trigger']").click()
    time.sleep(2)
    driver.find_element_by_class_name("comment-simplebox-text").send_keys(comment)
    time.sleep(2)
    driver.find_element_by_xpath("//button[@class='yt-uix-button yt-uix-button-size-default yt-uix-button-primary yt-uix-button-empty comment-simplebox-submit yt-uix-sessionlink']").click()
    time.sleep(2)
我要添加的代码是:

if driver.find_element_by_xpath ...... exists,
then
   driver.find_element_by_xpath("//*[@class=\"leaflet-control-zoom-in\"]").click()
   driver.find_element_by_xpath("//*[@class=\"leaflet-control-zoom-in\"]").click()
   driver.find_element_by_xpath("//*[@class=\"leaflet-control-zoom-in\"]").click()
   driver.find_element_by_xpath("//*[@class=\"leaflet-control-zoom-in\"]").click()
   print("Zoom in 4x. Successful")
else
   print("Element does not exist, it failed.")

我是添加only(if)还是if(if)驱动程序。通过xpath(“”)查找元素脚本在毫秒内崩溃,甚至无法打开。

您需要尝试捕获异常,如果捕获到异常,请在
块中执行除
之外的操作。谈到您的场景,您可能需要捕获
selenium.common.exceptions.NoSuchElementException
。因此代码可能如下:

from selenium.common.exceptions import NoSuchElementException

try:
   driver.find_element_by_xpath("//*[@class=\"leaflet-control-zoom-in\"]").click()
   driver.find_element_by_xpath("//*[@class=\"leaflet-control-zoom-in\"]").click()
   driver.find_element_by_xpath("//*[@class=\"leaflet-control-zoom-in\"]").click()
   driver.find_element_by_xpath("//*[@class=\"leaflet-control-zoom-in\"]").click()
   print("Zoom in 4x. Successful")
except NoSuchElementException:
   print("Element does not exist, it failed.")

这不是Python语法,所以它崩溃也就不足为奇了。谢谢你让我知道,因为我在stackoverflow上搜索了它,到处都找到了类似的语法,你能告诉我Python的if-else语法是什么吗?有很多Python介绍和教程,请从其中一个开始:。如果你是只需复制和粘贴片段,选择正确语言的片段!