如何从qwebview中找到文字?
我将文档转换为纯文本,并使用QString::comapare
来查找。
ui->webView->page()->mainFrame()->toPlainText();
但该方法无法在iframe
等内容中找到文字。
如何搜索所有可见文字?
答案 0 :(得分:0)
Qt将网页表示为帧的层次结构。所以你需要使用递归搜索。
bool findText(QWebFrame* frame, QString text)
{
if (frame->toPlainText().contains(text))
{
return true;
}
foreach (QWebFrame* child, frame->childFrames())
{
if (findText(child, text)) return true;
}
return false;
}
使用:
bool result = findText(ui->webView->page()->mainFrame(), QLatin1String("Text to find"));