如何修复if语句在selenium中不起作用

如何修复if语句在selenium中不起作用,selenium,Selenium,如果else语句不起作用,如何修复此问题 我想在那个里添加if语句if button not find print那个里并没有按钮,但当button not find时它给了我这个错误 错误: Traceback (most recent call last): File "bing2.py", line 24, in <module> if (driver.find_element_by_css_selector('.sb_pagN_bp')): File "C:\

如果else语句不起作用,如何修复此问题

我想在那个里添加if语句if button not find print那个里并没有按钮,但当button not find时它给了我这个错误

错误:

Traceback (most recent call last):
  File "bing2.py", line 24, in <module>
    if (driver.find_element_by_css_selector('.sb_pagN_bp')):
  File "C:\Users\Lenovo\AppData\Local\Programs\Python\Python37-32\lib\site-packa
ges\selenium\webdriver\remote\webdriver.py", line 598, in find_element_by_css_se
lector
    return self.find_element(by=By.CSS_SELECTOR, value=css_selector)
  File "C:\Users\Lenovo\AppData\Local\Programs\Python\Python37-32\lib\site-packa
ges\selenium\webdriver\remote\webdriver.py", line 978, in find_element
    'value': value})['value']
  File "C:\Users\Lenovo\AppData\Local\Programs\Python\Python37-32\lib\site-packa
ges\selenium\webdriver\remote\webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "C:\Users\Lenovo\AppData\Local\Programs\Python\Python37-32\lib\site-packa
ges\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Una
ble to locate element: {"method":"css selector","selector":".sb_pagN_bp"}
  (Session info: chrome=79.0.3945.88)

将if-else替换为try-except。在上面的代码中,如果找不到web元素,if条件将抛出NoTouchElementException

try:
  driver.find_element_by_css_selector('.sb_pagN_bp')
  nextp = driver.find_element_by_css_selector('.sb_pagN_bp').click()
  description = driver.find_elements_by_css_selector("p")
  items = len(description)
  with open(s_csv,'a',encoding="utf-8") as s:
      for i in range(items):
          s.write(description[i].text + '\n')
except NoSuchElementException:
  nextp = 'There is no next button!'
  print(nextp)

捕获特定的异常情况怎么样?@DebanjanB,我已经更新了答案。谢谢你的建议。
try:
  driver.find_element_by_css_selector('.sb_pagN_bp')
  nextp = driver.find_element_by_css_selector('.sb_pagN_bp').click()
  description = driver.find_elements_by_css_selector("p")
  items = len(description)
  with open(s_csv,'a',encoding="utf-8") as s:
      for i in range(items):
          s.write(description[i].text + '\n')
except NoSuchElementException:
  nextp = 'There is no next button!'
  print(nextp)