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

触发打字稿中的点击-类型“元素”上不存在属性“点击”

甘英光
2023-03-14
问题内容

我想在Typescript / Reactjs中的HTML元素上触发click事件。

let element: Element = document.getElementsByClassName('btn')[0];
element.click();

上面的代码可以正常工作。但是我收到一个Typescript错误:

ERROR in [at-loader] ./src/App.tsx:124:17
TS2339: Property 'click' does not exist on type 'Element'.

那么正确的方法是什么呢?


问题答案:

使用类型 HTMLElement 而不是
Element
。HTMLElement继承自Element。在文档中,您可以找到click在HTMLElement中定义的函数。

通过以下方式将您的元素投射到HTMLElement中

let element: HTMLElement = document.getElementsByClassName('btn')[0] as HTMLElement;
element.click();


 类似资料:
  • 我在做一个个人项目,在完成firebase的注册和登录表单时遇到了一些问题。我使用的是Vuejs和TS,它给我带来了这个错误。将电子邮件另存为txtEmail的部分。值和txtPassword。值将删除错误。以下是一个片段:

  • 我正在尝试使用量角器登录谷歌帐户 google-account-spec.js conf.js 登录页面.js我正在使用页面对象模式(登录页面是页面对象) 当我尝试点击下一步按钮输入密码时,我得到一个错误 {WebDriverError:未知错误:元素…在点(1100527)处不可单击。其他元素将收到单击: 它说该元素不可点击,但之前在代码中我一直在等待它变得可点击。所以我就是不明白,这个元素怎么

  • 我有以下例外: WebDriverException:不能在点(1057.38330078125,673.13330078125)点击元素。其他元素将收到单击: 按钮id=“id4b6a687af6934e35b6f355f6305dc481”data-layout=“hbox”class=“hux-ui-button”type=“button”role=“button”> 硒=2.49。

  • 我有一个使用Selenium WebDriver版本3.6和Chrome驱动程序的自动化项目。软件运行良好,直到它开始显示错误 未知错误:元素在点(25,-9)处不可单击(会话信息:Chrome=61.0.3163.100)(驱动程序信息:ChromeDriver=2.31.488763(092DE99F48A300323ECF8C2A4E2E7CAB51DE5BA8),平台=Windows NT

  • 我在chromedriver上运行测试时出错,因为它在FirefoxDriver上运行良好: WebDriverException:未知错误:元素在点(1270,449)处不可单击。其他元素将接收点击:(会话信息:Chrome=44.0.2403.157)(驱动程序信息:ChromeDriver=2.17.340124 知道怎么了吗?我正在使用最新的ChromeDriver。