1

我有一个 div 函数,它有一个单选按钮,我想使用 Pyppeteer 选择“开火”。但是,当我尝试这样做时,我尝试的所有尝试都失败了

分区

<div _ngcontent-xqm-c396="" class="ng-star-inserted">
<p-radiobutton _ngcontent-xqm-c396="" styleclass="radio-group__input" name="APPLICANT_TYPE" class="ng-untouched ng-valid ng-dirty">
<div class="radio-group__input ui-radiobutton ui-widget">
<div class="ui-helper-hidden-accessible">
<input type="radio" name="APPLICANT_TYPE" value="Corporate">
</div>
<div role="radio" aria-checked="true" class="ui-radiobutton-box ui-widget ui-state-default ui-state-active">
<span class="ui-radiobutton-icon ui-clickable pi pi-circle-on">
</span>
</div>
</div>
<label class="ng-star-inserted ui-radiobutton-label ui-label-active">Corporate</label>
<!---->
</p-radiobutton><validationmsg _ngcontent-xqm-c396="" _nghost-xqm-c395="" hidden="">
<!---->
</validationmsg>
</div>

我使用的 pyppeteer 命令

await page.click("input[name='APPLICANT_TYPE']")

这是 XPATH:

//*[@id="lead_request_main_ui_applicant_type"]/div[2]/p-radiobutton/div/div[1]/input

这是 JS 路径

document.querySelector("#lead_request_main_ui_applicant_type > div:nth-child(3) > p-radiobutton > div > div.ui-helper-hidden-accessible > input[type=radio]")

如果其中任何一个对您有帮助?过去两天我一直在尝试这个,但我没有成功:-(

4

1 回答 1

1

最后,这看起来像是 Pyppeteer 的一个错误

为了解决这个问题,我不得不做这个现在有效的解决方法:

    foo = await page.querySelector('[value="Corporate"]')  # or any proper selector
    await page.evaluate('(element) => element.click()', foo)

可能会为您节省大约 4 天的时间!

于 2021-02-14T16:03:21.930 回答