本文整理汇总了C++中QWebElement::firstChild方法的典型用法代码示例。如果您正苦于以下问题:C++ QWebElement::firstChild方法的具体用法?C++ QWebElement::firstChild怎么用?C++ QWebElement::firstChild使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QWebElement
的用法示例。
在下文中一共展示了QWebElement::firstChild方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: finished_loading
void MainWindow::finished_loading(bool ok)
{
if(!ok)
std::cout << "LOAD FINISH NOT OK!\n\n";
QString output;
QWebElement body;
progress = 100;
adjust_title();
QWebFrame *frame = uimw->webView->page()->mainFrame();
QWebElement document = frame->documentElement();
QWebElement element = document.firstChild();
while(!element.isNull())
{
if(element.tagName() == "BODY")
{
output = element.toInnerXml();
if(output == "ok\n")
{
QNetworkCookieJar *cj = uimw->webView->page()->networkAccessManager()->cookieJar();
QList<QNetworkCookie> cookies = cj->cookiesForUrl(testauth);
for(QList<QNetworkCookie>::const_iterator i = cookies.begin() ; i != cookies.end() ; i++ )
{
std::cout << "Set-Cookie: ";
QByteArray ba = i->toRawForm();
std::cout.write(ba.data(), ba.count());
std::cout << "\r\n";
}
exit(0);
}
}
element = element.nextSibling();
}
this->show();
}
示例2: filter
void PmrWindowWidget::filter(const QString &pFilter)
{
// Filter our list of exposures and remove any duplicates (they will be
// 'reintroduced' in the next step)
QStringList filteredExposureNames = mExposureNames.filter(QRegularExpression(pFilter, QRegularExpression::CaseInsensitiveOption));
mNumberOfFilteredExposures = filteredExposureNames.count();
filteredExposureNames.removeDuplicates();
// Update our message and show/hide the relevant exposures
page()->mainFrame()->documentElement().findFirst("p[id=message]").setInnerXml(message());
QWebElement trElement = page()->mainFrame()->documentElement().findFirst(QString("tbody[id=exposures]")).firstChild();
QWebElement ulElement;
for (int i = 0, iMax = mExposureNames.count(); i < iMax; ++i) {
if (mExposureDisplayed[i] != filteredExposureNames.contains(mExposureNames[i])) {
QString displayValue = mExposureDisplayed[i]?"none":"table-row";
trElement.setStyleProperty("display", displayValue);
ulElement = trElement.firstChild().firstChild().nextSibling();
if (ulElement.hasClass("visible"))
ulElement.setStyleProperty("display", displayValue);
mExposureDisplayed[i] = !mExposureDisplayed[i];
}
trElement = trElement.nextSibling();
}
}
示例3: setDOMNodes
//#####################################################################
// Function setDOMNodes
//#####################################################################
void Page::setDOMNodes(const QWebElement& domNode) {
QWebElement domChild = domNode.firstChild();
while (!domChild.isNull()) {
setDOMNodes(domChild);
domChild = domChild.nextSibling();
}
mDOMNodes.append(domNode);
}
示例4: examineChildElements
//! [traverse document]
void Window::examineChildElements(const QWebElement &parentElement,
QTreeWidgetItem *parentItem)
{
QWebElement element = parentElement.firstChild();
while (!element.isNull()) {
QTreeWidgetItem *item = new QTreeWidgetItem();
item->setText(0, element.tagName());
parentItem->addChild(item);
examineChildElements(element, item);
element = element.nextSibling();
}
}
示例5: filter
void PhysiomeModelRepositoryWindowWidget::filter(const QString &pFilter)
{
// Make sure that we have something to filter (i.e. no error message)
if (!mErrorMessage.isEmpty())
return;
// Filter our list of exposures, remove any duplicates (they will be
// reintroduced in the next step) and update our message (by retranslating
// ourselves)
QStringList filteredExposureNames = mExposureNames.filter(QRegularExpression(pFilter, QRegularExpression::CaseInsensitiveOption));
mNumberOfFilteredExposures = filteredExposureNames.count();
filteredExposureNames.removeDuplicates();
retranslateUi();
// Show/hide the relevant exposures
// Note: to call QWebElement::setStyleProperty() many times is time
// consuming, hence we rely on mExposureDisplayed to determine when we
// should change the display property of our elements...
QWebElement trElement = page()->mainFrame()->documentElement().findFirst(QString("tbody[id=exposures]")).firstChild();
QWebElement ulElement;
for (int i = 0, iMax = mExposureNames.count(); i < iMax; ++i) {
if (mExposureDisplayed[i] != filteredExposureNames.contains(mExposureNames[i])) {
QString displayValue = mExposureDisplayed[i]?"none":"table-row";
trElement.setStyleProperty("display", displayValue);
ulElement = trElement.firstChild().firstChild().nextSibling();
if (ulElement.hasClass("visible"))
ulElement.setStyleProperty("display", displayValue);
mExposureDisplayed[i] = !mExposureDisplayed[i];
}
trElement = trElement.nextSibling();
}
}
示例6: FindElementByName
QWebElement MyWebView::FindElementByName(QWebElement &elem, QString &name)
{
if (elem.attribute("id").compare(name, Qt::CaseInsensitive) == 0)
{
return elem;
}
else
{
QWebElement childelem = elem.firstChild();
QWebElement retelem;
while (!childelem.isNull())
{
retelem = FindElementByName(childelem, name);
if (!retelem.isNull())
{
return retelem;
}
childelem = childelem.nextSibling();
}
}
return QWebElement();
}
示例7: highliteElementAtPos
void WBWebTrapWebView::highliteElementAtPos ( const QPoint& pos)
{
mCurrentContentType = Unknown;
if(page() && page()->currentFrame())
{
QWebHitTestResult htr = page()->currentFrame()->hitTestContent (pos);
QRect pageHtr = htr.boundingRect().translated(htr.frame()->pos());
QRect updateRect = mWebViewElementRect.united(pageHtr);
updateRect = updateRect.adjusted(-8, -8, 8, 8);
mDomElementRect = htr.boundingRect();
if (!htr.pixmap().isNull())
{
mCurrentContentType = Image;
qDebug() << "found pixmap at " << htr.boundingRect();
}
else
{
QWebElement element = htr.element();
QString tagName = element.tagName().toLower();
if (tagName == "object"
|| tagName == "embed")
{
mCurrentContentType = ObjectOrEmbed;
}
else if ((tagName == "input") || (tagName == "textarea"))
{
QString ec = potentialEmbedCodeAtPos(pos);
if (ec.length() > 0)
{
qDebug() << "found input data \n\n" << ec;
mCurrentContentType = Input;
}
}
else
{
QString tagName = htr.element().tagName();
QString id = htr.element().attribute("id", "");
QWebElement el = htr.element();
QString idSelector = tagName + "#" + id;
bool idSuccess = (el == el.document().findFirst(idSelector));
if (idSuccess)
{
mElementQuery = idSelector;
mCurrentContentType = ElementByQuery;
}
else
{
//bool isValid = true;
QWebElement elParent = el.parent();
QWebElement currentEl = el;
QString path = tagName;
QStringList pathElements;
do
{
QWebElement someSibling = elParent.firstChild();
int index = 0;
bool foundIndex = false;
do
{
if (someSibling.tagName() == currentEl.tagName())
{
if (someSibling == currentEl)
{
foundIndex = true;
}
else
index++;
}
someSibling = someSibling.nextSibling();
}
while(!someSibling.isNull() && !foundIndex);
QString part;
if (index > 0)
part = QString("%1:nth-child(%2)").arg(currentEl.tagName()).arg(index);
else
part = currentEl.tagName();
pathElements.insert(0, part);
currentEl = elParent;
elParent = elParent.parent();
} while(!elParent.isNull());
//QString idSelector = tagName + "#" + id;
//.........这里部分代码省略.........