使用 C++ 自动填充 HTML 输入字段QString值

发布于 2025-01-17 08:44:04 字数 870 浏览 1 评论 0 原文

我在qwebenginepage上找到'登录'文本,然后在显示正确的页面(如果显示正确的页面)中自动填充EmailID。 EmailID的价值基本上是QString。

QString emailId = "[email protected]";

我现在所拥有的是以下内容,当加载正确的页面时,输入字段是跟踪的,但实际问题是设置 value = [email  procected] 。是否有一种方法可以将输入的值设置为等于QString值。 (我不想对值进行硬码)。

ui->webEngineView->page()->findText(QStringLiteral("Sign in"), QWebEnginePage::FindFlags(), [this](bool found) {
    if (found) {
       QString code =  QStringLiteral("document.querySelectorAll('input')[0].value = emailId");
       ui->webEngineView->page()->runJavaScript(code);
    }
});

I am finding the 'Sign in' text on the QWebEnginePage and then auto filling in the emailId in the input field if the correct page is displayed.
The value of emailId is basically a QString.

QString emailId = "[email protected]";

What I have uptil now is the following, when the correct page is loaded, the input field is traced but the actual issue is setting the value = [email protected]. Is there a way to set value of the input to be equal to the QString value.
(I do not want to hardcode the value).

ui->webEngineView->page()->findText(QStringLiteral("Sign in"), QWebEnginePage::FindFlags(), [this](bool found) {
    if (found) {
       QString code =  QStringLiteral("document.querySelectorAll('input')[0].value = emailId");
       ui->webEngineView->page()->runJavaScript(code);
    }
});

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

紫南 2025-01-24 08:44:04

根据 @eyllanesc的评论,以下对我有用:

QString code =  QString("document.querySelectorAll('input')[0].value = '%1'").arg(emailId);

According to @eyllanesc's comment the following worked for me:

QString code =  QString("document.querySelectorAll('input')[0].value = '%1'").arg(emailId);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文