gpt4 book ai didi

javascript - 输入后网页不刷新

转载 作者:行者123 更新时间:2023-12-02 22:58:50 24 4
gpt4 key购买 nike

目前我正在使用 selenium python 自动化网站。我遇到这个问题,当我手动输入 J590 到目标 textbox 时,我必须单击网站上的任意位置或按选项卡,这将刷新网站和选项将在下拉框中可用。然而,selenium 似乎并没有为我刷新页面。

我尝试在将 J590 发送到 textbox 之前和之后使用 click(),我还尝试使用 send_keys(Keys .TAB) 发送 J590 后,但没有一个起作用。

这是我用来发送输入的代码

driver.execute_script("document.getElementById('CustCd').value+="+ dumps(jcode))

这是我在发送输入后尝试的代码

driver.find_element_by_xpath('//*[@id="Item"]/form/center/input[2]').click()
or
driver.find_element_by_xpath('//*[@id="CustCd"]').send_keys(Keys.TAB)

我可以知道为什么 Selenium 会这样吗?有解决办法吗?

最佳答案

当您使用js输入数据时,当您退出或单击页面中的另一个元素时,似乎会触发键盘/onchange事件。因此,您必须调度(模拟)相应的事件。

引用this发布以了解与元素相关的事件。

假设你想在某个元素上触发 onchange 事件,那么你应该先获取该元素。

ele = driver.find_element_by_xxxx(yyy)

然后使用js将事件发送到元素,如下所示。

driver.executeScript("arguments[0].dispatchEvent(new Event('change', {'bubbles': true,'cancelable': true}));",ele)

确保您返回了正确的元素。并相应地更改事件名称。

关于javascript - 输入后网页不刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57862800/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com