在网站上对检索出来的元素进行foreach列表循环并加上对元素文本内容的判断后做出相应的操作有问题
回答
收藏

在网站上对检索出来的元素进行foreach列表循环并加上对元素文本内容的判断后做出相应的操作有问题
20

l
luosir
2025-09-06 17:22·浏览量:254
l
luosir
发布于 2025-09-06 16:43更新于 2025-09-06 17:22254浏览

背景逻辑:

我在新榜数据平台检索一些公众号名称来获取一些基础数据,检索的结果会出现很多相似公众号,其中包含我想要的公众号或者搜索不出来我检索的公众号的情况,我使用获取相似元素列表,然后使用for each列表循环,对每个公众号提取文本内容后与循环的Excel表格中当前循环的公众号循环项进行if条件判断,如果名称相同,那么就点击名称相同那个元素,然后进一步抓取信息,如果所有的列表元素的文本内容与循环的公众号名称不同,就使用“继续下一次循环”指令,跳出当前循环,继续输入下一个重新开始检索。

问题:反复检查逻辑是没有问题的,对于网站上检索出来的公众号结果,只有一个公众号选项的时候,并且这个公众号就是我循环输入的那个公众号,foreach列表是能正确识别并点击相应正确的那个公众号。但是当出现检索结果有多个公众号不管其中是否包含我要抓取的那个公众号,或者检索出来只有一个公众号,但是这一个公众号也不是我想要抓取的那个公众号,if判断都会失效,都不会自动进行下一次循环。请大佬帮我看看是哪里出了问题?难道if判断的逻辑不对?

从下图的指令日志显示看,else后的继续下一次循环也没执行。可以明确就是这里没有执行。

尝试过的方案

在获取相似元素列表并进行判断前,我使用无限循环把网站所有的检索结果都加载出来的。另外我没尝试在这段流程加上try catch,因为我多次测试这种检索出来的有多个结果的公众号的情况,依然还是同样的问题。


我再次尝试了一个搜索出来结果比较多的公众号,然后把提取出来的文本内容和去除文本内容两端空格的公众号名称都打印了一遍对比,从这个截图应该可以看出来,提取的文本内容是没有空格或者特殊字符。同时if判断当没有与搜索的公众号匹配的选项时也是false,按理说这种情况就应该执行继续下一次循环才对。然后我又尝试了一个搜索出来只有一个公众号并且是结果匹配的公众号,从打印日志是没问题

收藏1
全部回答1
最新
发布回答
回答