首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在div类/TR/TD类下查看IE网页中是否存在文本?

如何在div类/TR/TD类下查看IE网页中是否存在文本?
EN

Stack Overflow用户
提问于 2019-01-10 20:06:29
回答 2查看 116关注 0票数 0

我已经尝试了几天来解决我的问题--不知何故,我就是找不到一个有效的解决方案。

不幸的是,我不能给我的网页的网址,因为它将需要一个登录和密码-我不能分享。

我已经有VBA代码做我的一切,登录到网页-证明页面内的正确信息,并单击验证按钮。但问题是,我应该看看是否出现以下文本: ENQUADRAMENTO EM VIGOR -如果是,我将以略有不同的方式继续该过程,如果不是,则以不同的方式继续。

下面是来自网页的代码:

代码语言:javascript
复制
            <tr>
                <td>
                    <table cellpadding="4" border="0" width="100%">
                        <tbody><tr>
                            <td class="fieldTitleBold" style="width=30%">Enquadramento em IVA</td>

                            <td class="fieldValue" colspan="3">NORMAL TRIMESTRAL</td>

                        </tr>
                        <tr>
                            <td style="width=10%" class="fieldTitleBold">Situação</td>

                            <td class="fieldValue" colspan="3">ENQUADRAMENTO EM VIGOR</td>

                        </tr>

                    </tbody></table>                        
                </td>
            </tr>

我尝试了许多不同的方法,最新的尝试是使用byclassname (这在另一个网站上也适用于类似的目的),但由于某些原因在这里不起作用:

代码语言:javascript
复制
Set doc = ie.document
Set htmTable = doc.getElementsByClassName("ENQUADRAMENTO EM VIGOR")(0)
If Not htmTable Is Nothing Then 

‘继续,取决于是否以不同的方式找到文本

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-01-11 00:40:42

ENQUADRAMENTO EM VIGOR.innerText值,而不是类名。类值为fieldValue,并与一个td (表格单元)元素相关联。

如果它只出现一次,这是非常容易的。使用Instr查看页面html中是否存在

代码语言:javascript
复制
If Instr(ie.document.body.innerHTML,"ENQUADRAMENTO EM VIGOR") > 0 Then

否则,您可以收集具有该类名的td元素的nodeList,并循环测试.innerText

代码语言:javascript
复制
Dim classes As Object, i As Long
Set classes = ie.document.querySelectorAll("td.fieldValue")
For i = 0 To classes.Length - 1
   If classes.item(i).innerText = "ENQUADRAMENTO EM VIGOR" Then
       'do something
       'Exit For ....
   End If
End Sub
票数 1
EN

Stack Overflow用户

发布于 2019-01-10 20:35:27

代码语言:javascript
复制
$(document).ready(function() { 

    var lenfV = document.querySelectorAll(".fieldValue");
    for(let i=0;i<lenfV.length;i++) {
      if(lenfV[i].innerHTML == "ENQUADRAMENTO EM VIGOR") {
          console.log("is there");
      }
      //else {console.log(213423);}
    }

});
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p> I think, The below option will help you</p>
<table>

<tr>
                <td>
                    <table cellpadding="4" border="0" width="100%">
                        <tbody><tr>
                            <td class="fieldTitleBold" style="width=30%">Enquadramento em IVA</td>

                            <td class="fieldValue" colspan="3">NORMAL TRIMESTRAL</td>

                        </tr>
                        <tr>
                            <td style="width=10%" class="fieldTitleBold">Situação</td>

                            <td class="fieldValue" colspan="3">ENQUADRAMENTO EM VIGOR</td>
                        </tr>

                    </table>                        
                </td>
            </tr>
</table>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54128356

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档