Pyppeteer / puppeteer / Angular JS 选择单选按钮不起作用

问题描述

我有一个 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]")

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

解决方法

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

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

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

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...