我正在使用 if-elif 条件。当元素处于第一个条件时可以找到它们,但 Selenium 只是挂起并且当元素位于 elif 时找不到该元素。有什么想法吗?
这是我正在使用的代码:
if (driver.find_elements_by_xpath(("//*[contains(text, 'Hello Automation User')]"))):
print ("Test Passed")
elif (driver.find_elements_by_class_name('error')):
print ("Test Failed: Username and Password combination mismatch")
else:
print("Test failed")
仅供引用,我正在使用 chromedriver
最佳答案
不要捕获异常,而是像这样尝试:
if len(driver.find_elements_by_xpath(("//*[contains(text, 'Hello Automation User')]"))) > 0:
# pass
elif len(driver.find_elements_by_class_name('error')) > 0:
# fail
else:
# fail
请注意,driver.find_elements_by_xpath 返回一个数组,因此它始终是真实的(就像您所拥有的那样)
关于python - Selenium:Python 无法从 elif 中找到元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54974819/