当前位置: 首页 > 面试题库 >

Selenium Python-处理无此类元素异常

乌翔
2023-03-14
问题内容

我正在使用Python在Selenium中编写自动化测试。一种元素可能存在或可能不存在。我试图用下面的代码来处理它,当存在元素时它可以工作。但是脚本在元素不存在时失败,如果元素不存在,我想继续下一个语句。

try:
       elem = driver.find_element_by_xpath(".//*[@id='SORM_TB_ACTION0']")
       elem.click()
except nosuchelementexception:
       pass

错误-

selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element:{"method":"xpath","selector":".//*[@id='SORM_TB_ACTION0']"}

问题答案:

您可以查看元素是否存在,然后单击(如果存在)。无需例外。注意中的复数“ s” .find_elements_*

elem = driver.find_elements_by_xpath(".//*[@id='SORM_TB_ACTION0']")
if len(elem) > 0
    elem[0].click()


 类似资料:
  • 我尝试使用selenium测试登录功能,但我得到了这个例外: 这是我的代码: 注意:我尝试使用和xpath,但仍然不起作用。我也尝试在本文中使用一些解决方案,但没有结果 这是Html页面使用框架的菜单和其他表单登录页面 SCT公司 :

  • 我试图在未显示xpath时停止while循环。但是,代码会以消息停止。这是我的密码, 但我得到: "NoSuchElementExc如意:消息:没有这样的元素:无法定位元素:{"方法":"xpath","selector":".//tbody//tr//td//span//a[text()!= ""]"}" 这正是我想要停止循环的时候。。。当元素不可定位时。

  • 我正在学习自动化,我的Java代码有异常。运用智能思想 并且出现异常消息 null 进程已完成,退出代码为%1

  • 我有三项任务。任务1、任务2和任务3。task1和task2是异步任务,即它们同时执行任务,返回完成结果的时间不可预测。最初,我希望task1和task2同时执行,并在得到结果后执行task3。 我设计的结构如上所述,但我总是得到不好的结果,比如如果task2是一个url发布请求,使用afnet,我不能得到成功块参与。 任何帮助我的人我都会感激的。

  • 由于以下异常,我的脚本失败了。 WebDriverException:未知错误:在点(355,160)处不能单击元素 在加载页面时,如果元素出现在背景中,selenium会尝试单击,但失败。我使用过WebDriverWait。在10次中,它至少失败了3次。 在不使用thread.sleep()的情况下如何避免/处理这种情况;

  • 在发出采样器请求之后执行后处理器元素。 如果后处理器连接到Sampler元素,那么它将在该sampler元素运行之后执行。 后处理器最常用于处理响应数据,例如,为了将来目的而提取特定值。 下面给出了JMeter提供的所有后处理器元素的列表: CSS/JQuery抽取器 BeanShell后处理器 JSR223后处理器 JDBC后处理器 调试后处理器 正则表达式提取器 XPath抽取器 结果状态操作