如何修复if语句在selenium中不起作用
如果else语句不起作用,如何修复此问题 我想在那个里添加if语句if button not find print那个里并没有按钮,但当button not find时它给了我这个错误 错误:如何修复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:\
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)