3 回答

TA贡献1906条经验 获得超3个赞
您在问题中写了解决方案本身。NoSuchElementException如果WebDriver不能使用给定的定位器找到该元素,则抛出该异常,并且您需要使用try-except进行处理,否则,如果您希望代码进入备用路径,则抛出该异常。
如果您不想处理异常,可以使用的其他选项是driver.find_elements。它返回与定位符匹配的元素列表,如果找不到则返回一个空列表。所以你会做类似的事情-
count = len(driver.find_elements_by_id('some_id'))
if count == 0:
//element was not found.. do something else instead

TA贡献1831条经验 获得超4个赞
尝试更换
if driver.find_element_by_id("smc")
和
if driver.find_elements_by_id("smc")

TA贡献1936条经验 获得超6个赞
根据您的问题来确定三个选项并相应地运行下一步,您可以使用以下解决方案:
您可以编写一个函数,test_me()该函数将参数作为id元素的并提供如下状态:
def test_me(myString):
try:
driver.find_element_by_id(myString)
print("Exits")
except NoSuchElementException:
print("Doesn't exit")
现在,您可以在代码中的任何位置调用该函数 test_me(),如下所示:
test_me("smc")
#or
test_me("editPage")
#
test_me("cas2_ilecell")
添加回答
举报