С Puppeteer, как я могу щелкнуть родительский элемент моего селектора? - PullRequest
0 голосов
/ 26 апреля 2019

Разметка, с которой я должен работать, выглядит следующим образом:

<label>
    <input type="radio" name="myfield" value="Yes" size>
</label>

Я хочу вызвать page.click (селектор) с радио в качестве селектора, но я не могу. Я не думаю, что это видно из-за атрибута размера.

Мой JavaScript выглядит так:

const page = await browser.newPage();
const selector = 'input[name="myfield"]';
await page.click(selector);

Итак, я хотел бы нацелиться и щелкнуть по родительскому элементу метки.

Как мне изменить значение моей селекторной константы, чтобы настроить метку?

1 Ответ

0 голосов
/ 26 апреля 2019

Извините, я не очень хорошо объяснил. Не могу, я имею в виду, что элемент не виден, и поэтому я не верю, что технически на него можно нажать . Поэтому я думаю, что мне нужно настроить таргетинг на видимую метку, но я не знаю, как ее настроить

не видно или не видно в данный момент?

Вы пытались использовать waitForSelector(selector)?

const page = await browser.newPage();
const selector = 'input[name="myfield"]';

await page.waitForSelector(selector); // waiting here before click
await page.click(selector);


Или что-то вроде:

const page = await browser.newPage();
const selector = 'label';

await page.waitForSelector(selector);

await page.evaluate((_) => {
    document.querySelector('label > input[name="myfield"]').parentElement.click()
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...