石槿花开,人民币收藏价格,楼钟
pip install selenium
'--proxy-server=http://ip:port'
)import time from selenium import webdriver driver = webdriver.chrome() try: driver.get("http://news.baidu.com/") print('执行js打开新窗口前') print('所有窗口的句柄:', driver.window_handles) print('当前窗口的句柄:', driver.current_window_handle) # 执行js打开新窗口 new_js = 'window.open("https://www.toutiao.com/")' driver.execute_script(new_js) print('执行js打开新窗口后') all_handle = driver.window_handles print('所有窗口的句柄:', all_handle) print('当前窗口的句柄:', driver.current_window_handle) print('切换句柄...') driver.switch_to.window(all_handle[1]) print('当前窗口的句柄:', driver.current_window_handle) # 页面高度 height = 0 # 执行js滑动滚动条 while height < 10000: # 滑动滚动条到指定位置 driver.execute_script('document.documentelement.scrolltop=10000') # 页面高度 height = driver.execute_script('return document.body.scrollheight') time.sleep(2) # 关闭新打开的窗口 driver.close() finally: time.sleep(3) # 关闭浏览器 driver.quit()
import time from selenium import webdriver from selenium.webdriver.common.by import by from selenium.webdriver.common.keys import keys driver = webdriver.chrome() try: driver.get("https://qzone.qq.com/") time.sleep(0.5) """通过元素定位,切到指定frame(登录框) frame = driver.find_element(by.xpath,'//iframe') driver.switch_to.frame(frame) """ # 也可通过 id 或 name 定位 frame driver.switch_to.frame('login_frame') # 点击 帐号密码登录 driver.find_element(by.link_text, '帐号密码登录').click() time.sleep(0.5) text_box = driver.find_element(by.id, 'u') # 输入内容 text_box.send_keys('0123456789') time.sleep(1) # 清除内容 text_box.clear() time.sleep(1) text_box.send_keys('正确的账号') password_box = driver.find_element(by.css_selector, '.inputstyle.password') password_box.send_keys('正确的密码') time.sleep(1.5) # 执行键盘操作:回车键 password_box.send_keys(keys.enter) time.sleep(7) finally: time.sleep(3) # 关闭浏览器 driver.quit()
import time from selenium import webdriver driver = webdriver.chrome() try: driver.get("https://www.baidu.com/") time.sleep(0.3) driver.find_element_by_link_text('设置').click() time.sleep(0.3) driver.find_element_by_link_text('搜索设置').click() time.sleep(0.3) driver.find_element_by_link_text('保存设置').click() time.sleep(1) # 获取弹窗的对象 alert_box = driver.switch_to.alert # 获取弹窗的内容 print('弹窗内容:',alert_box.text) # 对弹窗对象的确定操作 alert_box.accept() # 按钮:百度一下 button = driver.find_element_by_css_selector('[type="submit"]') # 获取元素标签上的属性 print('get_attribute:', button.get_attribute('value')) # 元素的坐标 print('location:', button.location) # 元素的大小 print('size:', button.size) # 截图 driver.get_screenshot_as_file('1.png') finally: time.sleep(3) # 关闭浏览器 driver.quit()
import time from selenium import webdriver driver = webdriver.chrome() try: driver.get("https://www.toutiao.com/") time.sleep(1) # 最小化 driver.minimize_window() time.sleep(1) # 设置窗口具体的大小 driver.set_window_size(500,500) time.sleep(1) # 设置窗口位置 driver.set_window_position(800,200) time.sleep(1) # 最大化 driver.maximize_window() time.sleep(1) # 打印网页源码(js渲染过的) print(driver.page_source) # 刷新当前页面 driver.refresh() finally: time.sleep(3) # 关闭浏览器 driver.quit()
import time import json from selenium import webdriver driver = webdriver.chrome() try: driver.get('https://www.cnblogs.com/') """获取cookie # 等待60秒用于手动登录 time.sleep(60) # 保存获取到的cookie cookies = driver.get_cookies() with open('1.txt', 'w+') as f: f.write(json.dumps(cookies)) """ """添加cookie with open('1.txt') as f: cookies = json.loads(f.read()) # 添加cookie前需要先打开任意一个网页 # 然后再进行添加 # 否则会报错:invalidcookiedomainexception: message: invalid cookie domain for cookie in cookies: driver.add_cookie(cookie) # 添加完毕后,再打开对应网页,便是已登录状态 driver.get('https://www.cnblogs.com/') time.sleep(5) """ """清空cookie driver.delete_all_cookies() # 清空cookie后是未登录的状态 driver.get('https://www.cnblogs.com/') """ finally: time.sleep(3) driver.quit()
import time from selenium import webdriver opt = webdriver.chromeoptions() # 设置代理 opt.add_argument('--proxy-server=http://121.40.162.239:808') # 设置ua opt.add_argument('user-agent=abcdefg') driver = webdriver.chrome(options=opt) try: driver.get('http://httpbin.org/get') finally: time.sleep(3) driver.quit()
import time from selenium import webdriver from selenium.webdriver.common.by import by from selenium.webdriver.support.wait import webdriverwait from selenium.webdriver.support import expected_conditions as ec driver = webdriver.chrome() try: driver.get('https://www.python.org/getit/') # 显式等待的等待条件 --> 参数为数组类型 method = ec.presence_of_element_located((by.link_text, 'downloads')) # 显式等待 webdriverwait(driver, 20, 0.2).until(method) # 隐式等待 # driver.implicitly_wait(20) driver.find_element(by.link_text, 'downloads').click() finally: time.sleep(10) driver.quit()
import time from selenium import webdriver from selenium.webdriver.common.action_chains import actionchains driver = webdriver.chrome() try: driver.get('http://www.treejs.cn/v3/demo/cn/exedit/drag.html') time.sleep(2) # 定位元素 element = driver.find_element_by_id('treedemo_2_span') target = driver.find_element_by_id('treedemo_12_span') # 动作链:拖拽 actionchains(driver).drag_and_drop(element,target).perform() finally: time.sleep(10) driver.quit()
import time from selenium import webdriver opt = webdriver.chromeoptions() opt.add_experimental_option('excludeswitches', ['enable-automation']) driver = webdriver.chrome(options=opt) try: driver.get('http://www.baidu.com') finally: time.sleep(10) driver.quit()
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Python爬虫:Request Payload和Form Data的简单区别说明
浅谈Python中threading join和setDaemon用法及区别说明
Python3-异步进程回调函数(callback())介绍
python继承threading.Thread实现有返回值的子类实例
Python中使用threading.Event协调线程的运行详解
网友评论