* Get property value of the element * @param {string} name Property name * @returns {Promise } Property value
(name)
| 83 | * @returns {Promise<any>} Property value |
| 84 | */ |
| 85 | async getProperty(name) { |
| 86 | switch (this.helperType) { |
| 87 | case 'playwright': |
| 88 | // For Locator objects, use inputValue() for the 'value' property |
| 89 | if (name === 'value' && this.element.inputValue) { |
| 90 | return this.element.inputValue() |
| 91 | } |
| 92 | return this.element.evaluate((el, propName) => el[propName], name) |
| 93 | case 'webdriver': |
| 94 | return this.element.getProperty(name) |
| 95 | case 'puppeteer': |
| 96 | return this.element.evaluate((el, propName) => el[propName], name) |
| 97 | default: |
| 98 | throw new Error(`Unsupported helper type: ${this.helperType}`) |
| 99 | } |
| 100 | } |
| 101 | |
| 102 | /** |
| 103 | * Get innerHTML of the element |
no test coverage detected