python作业6月17日

# # 爬取豆瓣250电影信息
# # 主页:
# # 第一页url中start依次递增25
# # 第二页
# # 第三页
# # 从1到10 225
# # ''''''
# # '''
# # 主页:
# # https://movie.douban.com/top250
# # GET
# # User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36
 
# # re正则:
# # # 电影详情页url、图片链接、电影名称、电影评分、评价人数
# # <div class="item">.*?href="(.*?)">.*?src="(.*?)".*?<span class="title">(.*?)</span>.*?<span class="rating_num".*?>(.*?)</span>.*?<span>(.*?)人评价
# # '''
# import requests
# import re
# url = 'https://movie.douban.com/top250'
# headers = {
# 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36'
# }
# # 1、往豆瓣TOP250发送请求获取响应数据
# base_url='https://movie.douban.com/top250'
# response = requests.get(url, headers=headers)

# # print(response.text)

# # 2、通过正则解析提取数据
# # 电影详情页url、图片链接、电影名称、电影评分、评价人数
# movie_content_list = re.findall(
# # 正则规则
# '<div class="item">.*?href="(.*?)">.*?src="(.*?)".*?<span class="title">(.*?)</span>.*?<span class="rating_num".*?>(.*?)</span>.*?<span>(.*?)人评价',

# # 解析文本
# response.text,

# # 匹配模式
# re.S)

# for movie_content in movie_content_list:
# # 解压赋值每一部电影
# detail_url, movie_jpg, name, point, num = movie_content
# data = f'电影名称:{name}, 详情页url:{detail_url}, 图片url:{movie_jpg}, 评分: {point}, 评价人数: {num} \n'
# print(data)

# # 3、保存数据,把电影信息写入文件中
# with open('douban.txt', 'a', encoding='utf-8') as f:
# f.write(data)
# # 今日内容
# 1 requests 请求之POST请求
# # selenium模块
# # 自动化设置工具
# # 自动驱动浏览器
# from selenium import webdriver
# from selenium.webdriver.support import expected_conditions as EC
# from selenium.webdriver.common.by import By
# import time
# chrome=webdriver.Chrome()
# try:
# wait=WebDriverWait(chrome,10)
# chrome.get('https://www.jd.com/')
# input_tag=wait.unitl(EC.presence_of_element_located((By.ID,"key")))
# input_tag.send_keys('唐诗三百首')
# search_button=wait.until(EC.presence_of_element_located((By.CLASS_NAME,"button")))
# search_button.click()
# time.sleep(3)
# finally:
# chrome.close()

''''''
'''
点击、清除操作
'''
# from selenium import webdriver
# from selenium.webdriver.common.keys import Keys
# import time
#
# driver = webdriver.Chrome(r'D:\BaiduNetdiskDownload\chromedriver_win32\chromedriver.exe')
#
# try:
# driver.implicitly_wait(10)
# # 1、往jd发送请求
# driver.get('https://www.jd.com/')
# # 找到输入框输入围城
# input_tag = driver.find_element_by_id('key')
# input_tag.send_keys('围城')
# # 键盘回车
# input_tag.send_keys(Keys.ENTER)
# time.sleep(2)
# # 找到输入框输入墨菲定律
# input_tag = driver.find_element_by_id('key')
# input_tag.clear()
# input_tag.send_keys('墨菲定律')
# # 找到搜索按钮点击搜索
# button = driver.find_element_by_class_name('button')
# button.click()
# time.sleep(10)
#
# finally:
# driver.close()


'''
获取cookies (了解)
'''
# from selenium import webdriver
# import time
#
# driver = webdriver.Chrome(r'D:\BaiduNetdiskDownload\chromedriver_win32\chromedriver.exe')
#
# try:
# driver.implicitly_wait(10)
# driver.get('https://www.zhihu.com/explore')
# print(driver.get_cookies())
#
# time.sleep(10)
# finally:
# driver.close()

'''
选项卡
'''
#选项卡管理:切换选项卡,有js的方式windows.open,有windows快捷键:
# ctrl+t等,最通用的就是js的方式
# import time
# from selenium import webdriver
#
# browser = webdriver.Chrome()
# try:
# browser.get('https://www.baidu.com')
#
# # execute_script: 执行javascrpit代码
# # 弹窗操作
# # browser.execute_script('alert("tank")')
# # 新建浏览器窗口
# browser.execute_script(
# '''
# window.open();
# '''
# )
# time.sleep(1)
# print(browser.window_handles) # 获取所有的选项卡
# # 切换到第二个窗口
# # 新:
# browser.switch_to.window(browser.window_handles[1])
# # 旧:
# # browser.switch_to_window(browser.window_handles[1])
#
# # 第二个窗口往淘宝发送请求
# browser.get('https://www.taobao.com')
# time.sleep(5)
#
# # 切换到第一个窗口
# browser.switch_to_window(browser.window_handles[0])
# browser.get('https://www.sina.com.cn')
#
# time.sleep(10)
# finally:
# browser.close()


'''
ActionChangs动作链
'''
# from selenium import webdriver
# from selenium.webdriver import ActionChains
# import time
#
# driver = webdriver.Chrome()
# driver.implicitly_wait(10)
# driver.get('http://www.runoob.com/try/try.php?filename=jqueryui-api-droppable')
#
# try:
#
# # driver.switch_to_frame('iframeResult')
# # 切换到id为iframeResult的窗口内
# driver.switch_to.frame('iframeResult')
#
# # 源位置
# draggable = driver.find_element_by_id('draggable')
#
# # 目标位置
# droppable = driver.find_element_by_id('droppable')
#
# # 调用ActionChains,必须把驱动对象传进去
# # 得到一个动作链对象,复制给一个变量
# actions = ActionChains(driver)
#
# # 方式一: 机器人
# # 瞬间把源图片位置秒移到目标图片位置
# # actions.drag_and_drop(draggable, droppable) # 编写一个行为
# # actions.perform() # 执行编写好的行为
#
#
# # 方式二: 模拟人的行为
# source = draggable.location['x']
# target = droppable.location['x']
# print(source, target)
#
# distance = target - source
# print(distance)
#
# # perform:每个动作都要调用perform执行
#
# # 点击并摁住源图片
# ActionChains(driver).click_and_hold(draggable).perform()
#
# s = 0
# while s < distance:
# # 执行位移操作
# ActionChains(driver).move_by_offset(xoffset=2, yoffset=0).perform()
# s += 2
#
# # 释放动作链
# ActionChains(driver).release().perform()
#
# time.sleep(10)
#
#
# finally:
# driver.close()


'''
前进、后退
'''
# from selenium import webdriver
# import time
#
# driver = webdriver.Chrome()
#
# try:
# driver.implicitly_wait(10)
# driver.get('https://www.jd.com/')
# driver.get('https://www.baidu.com/')
# driver.get('https://www.cnblogs.com/')
#
# time.sleep(2)
#
# # 回退操作
# driver.back()
# time.sleep(1)
# # 前进操作
# driver.forward()
# time.sleep(1)
# driver.back()
# time.sleep(10)
#
# finally:
# driver.close()
from selenium import webdriver
import time

driver = webdriver.Chrome(r'D:\BaiduNetdiskDownload\chromedriver_win32\chromedriver.exe')

# 把窗口转成全屏
driver.maximize_window()

try:
driver.get('https://dig.chouti.com/')
driver.implicitly_wait(10)
time.sleep(5)

# 1、点击登录
login_btn = driver.find_element_by_id('login_btn')
login_btn.click()
time.sleep(2)

# 2、输入用户名
phone = driver.find_element_by_class_name('login-phone')
phone.send_keys('15622792660')

# 3、输入密码
pwd = driver.find_element_by_class_name('pwd-password-input')
pwd.send_keys('kermit46709394')

# 4、确认登录
login_submit = driver.find_element_by_class_name('btn-large')
login_submit.click()

time.sleep(20)

# 捕获异常并打印
except Exception as e:
print(e)

finally:
driver.close()


猜你喜欢

转载自www.cnblogs.com/jjjpython1/p/11061847.html