from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from bs4 import BeautifulSoup
from selenium.webdriver.chrome.options import Options import time
import selenium
import random # from selenium.webdriver.common.desired_capabilities import DesiredCapabilities def driver_open():
# dcap = dict(DesiredCapabilities.PHANTOMJS)
# dcap["phantomjs.page.settings.userAgent"] = (r"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3100.0 Safari/537.36")
options = Options()
options.add_argument('--log-level=3')
driver = webdriver.Chrome(executable_path='E:\chromedriver\chromedriver.exe', chrome_options=options)
return driver def next_windows(driver,current_window):
window_handles = driver.window_handles
for window_handle in window_handles:
if current_window != window_handle:
handleb = window_handle driver.switch_to.window(handleb)
return driver def next_windows_handle(driver,current_window):
window_handles = driver.window_handles
for window_handle in window_handles:
if current_window != window_handle:
handleb = window_handle
return handleb if __name__ == '__main__':
learn_dict = {}
driver = driver_open()
driver.maximize_window()
driver.implicitly_wait(10) # seconds
# # Theoretical study
theoretical_study_url = 'xxxxx'
driver.get(theoretical_study_url)
time.sleep(20)
current_window = driver.current_window_handle
print(current_window)
# 浏览6篇文章
article = 6
elements = driver.find_elements_by_xpath('//span[contains(@class,"text")]')
for element in elements:
element.click()
driver = next_windows(driver,current_window)
client_height = driver.execute_script("return document.body.clientHeight;")
# scroll_height = driver.execute_script("return document.body.scrollWidth;") # print(scroll_height)
init_position = 0
while (client_height > init_position):
init_position = init_position + 200
js_string = "window.scrollTo(0," + str(init_position) + ");"
driver.execute_script(js_string)
sleep_time = random.randint(2, 4)
time.sleep(sleep_time) time.sleep(3)
driver.close()
driver.switch_to.window(current_window)
article = article - 1
if(article == 0):
break driver.get('xxxxxx')
time.sleep(3) window_handles = driver.window_handles
for window_handle in window_handles:
current_window = window_handle driver.switch_to.window(current_window)
# 浏览6个视频
videos_count = 6
videos = driver.find_elements_by_xpath('//div[contains(@class,"innerPic")]')
for video in videos:
driver.switch_to.window(current_window)
video.click()
driver = next_windows(driver, current_window)
js_string = "window.scrollTo(0,400);"
driver.execute_script(js_string)
time_sleep = random.randint(10,50)
time.sleep(time_sleep)
driver.close()
videos_count = videos_count - 1
if(videos_count == 0):
break driver.quit()

  

最新文章

  1. java中的浮点数
  2. Yii2 中日志的记录
  3. Android 使用Font Awesome 显示文字图标
  4. 让IE8支持HTML5及canvas功能!chart.js图表绘制工具库IE8上兼容方案
  5. java获取获得Timestamp类型的当前系统时间
  6. ☀【JS】eval
  7. nodejs框架express4.x 学习--安装篇
  8. uva 620 Cellular Structure
  9. [Android]Button按下后修改背景图
  10. Knockout应用开发指南 第三章:绑定语法(3)
  11. 用VBS控制鼠标的实现代码(获取鼠标坐标、鼠标移动、鼠标单击、鼠标双击)
  12. 标准的SQL语句类型
  13. Keras官方中文文档:常见问题与解答
  14. linux找不到动态链接库 .so文件的解决方法(转自:http://www.cnblogs.com/xudong-bupt/p/3698294.html)
  15. 仿9GAG制作过程(二)
  16. impdp导入dmp数据实例
  17. Parquet 格式文件,查看Schema
  18. Mybatis的SqlSession运行原理
  19. CentOS6下OpenLDAP+PhpLdapAdmin基本安装及主从/主主高可用模式部署记录
  20. apache kafka系列之在zookeeper中存储结构

热门文章

  1. SpringBoot(十) -- Spring Data
  2. [2019杭电多校第七场][hdu6656]Kejin Player
  3. [APIO 2010] [LOJ 3144] 奇怪装置 (数学)
  4. Kotlin学习(2)函数
  5. python学习第四十六天dir( )函数用法
  6. 07.SUSE Linux 系统本地yum源配置
  7. shell 搜索指定目录下所有 jar 文件生成csv文件
  8. selenium下拉一个框内的滚动条
  9. [python 学习] logging模块
  10. finalize理论基础