#2
fall_bernana2020-10-09 10:25
以下是引用夜莺不会唱歌在2020-10-7 15:05:24的发言: 以下代码陷入了死循环,不知道该怎么解决,爬取的信息也没办法正常保存,求大佬解决,有偿!!!!1 def get_data(self): while True: # 获取 ListView items = self.wait.until(EC.presence_of_all_elements_located((By.ID, 'com.tencent.mm:id/fol'))) #presence_of_all_elements_located:判断是否至少有1个元素存在于dom树中。 # 滑动 self.driver.swipe(self.start_x, self.start_y, self.end_x, self.end_y, 1000) # 遍历获取每个List数据 for item in items: try: # moment_text = item.find_element_by_id('com.tencent.mm:id/b3b').text # 日期 day_text = item.find_element_by_id('com.tencent.mm:id/fnr').get_attribute('text') # 月份 month_text = item.find_element_by_id('com.tencent.mm:id/fmo').get_attribute('text') # 昵称 nickname = item.find_element_by_id('com.tencent.mm:id/e3x').get_attribute('text') # 正文 if item.find_element_by_id('com.tencent.mm:id/b_l').get_attribute('text'): content = item.find_element_by_id('com.tencent.mm:id/b_l').get_attribute('text') else: content = item.find_element_by_id('com.tencent.mm:id/b_').get_attribute('text') if content == '': pass else: print(month_text+day_text,nickname + ':', content) f = open('contents.txt', 'a', encoding='utf-8') f.write('%s' % month_text + '%s' % day_text+'%s' % nickname + ':' + '%s' % content) f.write( '\n' + '------------------------------------' + '\n') time.sleep(3) except NoSuchElementException: pass 不知道你说的死循环是在哪里,初步判断如果没有保存内容应该是try里有错误导致都走的是 except NoSuchElementException: pass 你可以在pass这里输出信息。另外你需要设置条件跳出while True,否则会一致运行 |
以下代码陷入了死循环,不知道该怎么解决,爬取的信息也没办法正常保存,求大佬解决,有偿!!!!1
def get_data(self):
while True:
# 获取 ListView
items = self.wait.until(EC.presence_of_all_elements_located((By.ID, 'com.tencent.mm:id/fol')))
#presence_of_all_elements_located:判断是否至少有1个元素存在于dom树中。
# 滑动
self.driver.swipe(self.start_x, self.start_y, self.end_x, self.end_y, 1000)
# 遍历获取每个List数据
for item in items:
try:
# moment_text = item.find_element_by_id('com.tencent.mm:id/b3b').text
# 日期
day_text = item.find_element_by_id('com.tencent.mm:id/fnr').get_attribute('text')
# 月份
month_text = item.find_element_by_id('com.tencent.mm:id/fmo').get_attribute('text')
# 昵称
nickname = item.find_element_by_id('com.tencent.mm:id/e3x').get_attribute('text')
# 正文
if item.find_element_by_id('com.tencent.mm:id/b_l').get_attribute('text'):
content = item.find_element_by_id('com.tencent.mm:id/b_l').get_attribute('text')
else:
content = item.find_element_by_id('com.tencent.mm:id/b_').get_attribute('text')
if content == '':
pass
else:
print(month_text+day_text,nickname + ':', content)
f = open('contents.txt', 'a', encoding='utf-8')
f.write('%s' % month_text + '%s' % day_text+'%s' % nickname + ':' + '%s' % content)
f.write( '\n' + '------------------------------------' + '\n')
time.sleep(3)
except NoSuchElementException:
pass