page.click использовать атрибут value как селектор? - PullRequest
0 голосов
/ 19 мая 2018

Проблема:

Селектор может меняться случайным образом по разным причинам, поэтому использование селектора не всегда гарантирует успех.Вот мой код с селектором.

await page.click('body > div.api-container > div > div.clearAll > form > input[type="submit"]:nth-child(3)');

Можно ли вместо этого использовать page.click, чтобы щелкнуть элемент, основанный на атрибуте "value" ?Вот HTML-код:

<input name="submit" type="submit" value="Accept">

Как вы можете видеть, значение всегда будет равно «Принять», и было бы легче найти страницу и щелкнуть соответствующий элемент.

На основе моегоисследование похоже, что page.$x(expression) будет работать, но я не уверен, как написать выражение.

Любая помощь очень ценится!

1 Ответ

0 голосов
/ 19 мая 2018

Можно ли вместо этого использовать page.click, чтобы щелкнуть элемент, основанный на атрибуте "value"?

Да, и у вас уже есть несколько вариантов в исходномселектор, я говорю о input[type=submit].Вместо type может быть любое другое свойство элемента, включая value:

await page.click('input[value="Accept"]');
await page.click('input[name="submit"]');

Вы можете даже опустить тип элемента и выполнить поиск только по его свойству: '[value="Accept"]', но оставайтесь вимейте в виду, что этот подход может потенциально найти несколько результатов, и будет нажата только первая из них (вполне возможно, не та, которую вы имели в виду), поэтому сначала выберите тестовый селектор в консоли реального браузера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...