【问题标题】:How to unhide an element from javascript execute() method?如何从 javascript execute() 方法中取消隐藏元素?
【发布时间】:2022-11-15 22:31:31
【问题描述】:

我正在使用 WDIO 进行自动化并想上传文件,但输入元素被禁用。输入选择器的样式元素有:

当我把它改成这个时,元素是可见的

我希望通过我的javascript代码来改变它,这是我迄今为止尝试过的:

const inputFilePath = "#kyc-image-file-input";
await this.driver.execute(
   (elem) => elem.style.display = 'block',
   await this.driver.$(inputFilePath),
 );
 await WaitUtil.pause(this.driver, 5000);
 await (await this.digioPage.getPanAndAadhaarUploadFileInputEle()).setValue(remoteFilePath);
 await WaitUtil.pause(this.driver, 5000);

当我这样做时,Javascript 会抛出以下错误:

请让我知道更改显示属性的正确方法。

提前致谢 :)

【问题讨论】:

  • 包含连字符时抛出的错误是什么?
  • 找不到名称“无”。
  • 可能需要显示更多代码来弄清楚我认为到底发生了什么,你能更新 OP 吗?
  • 更新了代码
  • 添加了答案,让我知道它是否有效。

标签: javascript html css webdriver-io


【解决方案1】:

你需要改变风格:

(elem) => elem.style.display = 'block'

【讨论】:

  • 样式元素为空
  • 这个我也试过了,没用
  • 它说找不到该元素
【解决方案2】:

试试这个,选择要更改的元素:

const inputFilePath = "#kyc-image-file-input";

await this.driver.execute(
   (elem) => 
       document.querySelector(elem).style.display = 'block',
       await this.driver.$(inputFilePath),
 );

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-24
    • 2013-08-10
    • 2018-06-05
    • 1970-01-01
    • 2012-12-15
    • 2018-12-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多