human_ad.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. from selenium.webdriver.support.wait import WebDriverWait
  2. import time
  3. import re
  4. class HumanAd:
  5. def __init__(self, driver):
  6. self.driver = driver
  7. self.name_set = set() # 存储固有的name
  8. def get_human_info(self, name_set_local):
  9. names = self.driver.find_elements_by_class_name('adui-table-cellInner')
  10. for name in names:
  11. name_set_local.add(name.text)
  12. def check_human_info(self):
  13. # 处理玩完之后回到概览页面
  14. # 检查人群数据包是否相同
  15. self.driver.find_element_by_id('dmp').click()
  16. WebDriverWait(self.driver, 100).until(lambda driver: driver.find_element_by_class_name(
  17. 'adui-pagination-text'))
  18. page_info = self.driver.find_element_by_class_name('adui-pagination-text').text
  19. nums = re.split('/', page_info)
  20. name_set_local = set()
  21. self.get_human_info(name_set_local)
  22. for i in range(int(nums[1].strip())-int(nums[0].strip())):
  23. self.driver.find_element_by_css_selector(
  24. '#wxadcontainer > section > div.weui-desktop-layout__main__bd > div > div.adui-pagination-base.adui-pagination-small.adui-pagination-right > button:nth-child(4)').click()
  25. time.sleep(1)
  26. self.get_human_info(name_set_local)
  27. # 切回正常页面
  28. self.driver.find_element_by_id('overview').click()
  29. if __name__ == "__main__":
  30. pass