电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Python爬蟲之Selenium庫的使用方法

瀏覽:8日期:2022-06-30 15:27:04

Selenium 是一個用于Web應用程序測試的工具。Selenium測試直接運行在瀏覽器中,就像真正的用戶在操作一樣。支持的瀏覽器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。這個工具的主要功能包括:測試與瀏覽器的兼容性——測試你的應用程序看是否能夠很好得工作在不同瀏覽器和操作系統之上。測試系統功能——創建回歸測試檢驗軟件功能和用戶需求。支持自動錄制動作和自動生成 .Net、Java、Perl等不同語言的測試腳本。(摘自百科)

# 基本使用from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.common.keys import Keysfrom selenium.webdriver.support import expected_conditions as ECfrom selenium.webdriver.support.wait import WebDriverWaitbrowser = webdriver.Chrome()try: browser.get(’https://www.baidu.com’) input = browser.find_element_by_id(’kw’) input.send_keys(’Python’) input.send_keys(Keys.ENTER) wait = WebDriverWait(browser, 10) wait.until(EC.presence_of_element_located((By.ID, ’content_left’))) print(browser.current_url) print(browser.get_cookies()) print(browser.page_source)finally: browser.close()# 聲明瀏覽器對象from selenium import webdriverbrowser = webdriver.Chrome()browser = webdriver.Firefox()browser = webdriver.Edge()browser = webdriver.PhantomJS()browser = webdriver.Safari()# 訪問頁面from selenium import webdriverbrowser = webdriver.Chrome()browser.get(’https://www.taobao.com’)print(browser.page_source)browser.close()# 查找元素# 單個元素from selenium import webdriverbrowser = webdriver.Chrome()browser.get(’https://www.taobao.com’)# 下面三個效果是一樣的input_first = browser.find_element_by_id(’q’)input_second = browser.find_element_by_css_selector(’#q’)input_third = browser.find_element_by_xpath(’//*[@id='q']’)print(input_first)print(input_second)print(input_third)browser.close()from selenium import webdriverfrom selenium.webdriver.common.by import Bybrowser = webdriver.Chrome()browser.get(’https://www.taobao.com’)input_first = browser.find_element(By.ID, ’q’)print(input_first)browser.close()# 多個元素from selenium import webdriverbrowser = webdriver.Chrome()browser.get(’https://www.taobao.com’)lis = browser.find_elements_by_css_selector(’.service-bd li’)print(lis)browser.close()from selenium import webdriverfrom selenium.webdriver.common.by import Bybrowser = webdriver.Chrome()browser.get(’https://www.taobao.com’)lis = browser.find_elements(By.CSS_SELECTOR, ’.service-bd li’)print(lis)browser.close()# 元素交互操作# 對獲取的元素調用交互方法from selenium import webdriverimport timebrowser = webdriver.Chrome()browser.get(’https://www.taobao.com’)input = browser.find_element_by_id(’q’)input.send_keys(’筆記本電腦’)time.sleep(5)input.clear()input.send_keys(’iPad’)button = browser.find_element_by_class_name(’btn-search’)# button.click()# 交互動作# 將動作附加到動作鏈中串行執行from selenium import webdriverfrom selenium.webdriver import ActionChainsbrowser = webdriver.Chrome()url = 'http://www.runoob.com/try/try.php?filename=jqueryui-api-droppable'browser.get(url)browser.switch_to.frame(’iframeResult’)source = browser.find_element_by_css_selector(’#draggable’)target = browser.find_element_by_css_selector(’#droppable’)actions = ActionChains(browser)actions.drag_and_drop(source, target)actions.perform()# 執行JavaScriptfrom selenium import webdriverbrowser = webdriver.Chrome()browser.get('https://www.zhihu.com/explore')browser.execute_script(’window.scrollTo(0, document.body.scrollHeight)’)browser.execute_script(’alert('To Bottom')’)# 獲取元素信息# 獲取屬性from selenium import webdriverfrom selenium.webdriver import ActionChainsbrowser = webdriver.Chrome()browser.get('https://www.zhihu.com/explore')logo = browser.find_element_by_id(’zh-top-link-logo’)print(logo)print(logo.get_attribute(’class’))# 獲取文本值from selenium import webdriverbrowser = webdriver.Chrome()browser.get(’https://www.zhihu.com/explore’)input = browser.find_element_by_class_name(’zu-top-add-question’)print(input.text)# 獲取ID、位置、標簽名、大小from selenium import webdriverbrowser = webdriver.Chrome()browser.get(’https://www.zhihu.com/explore’)input = browser.find_element_by_class_name(’zu-top-add-question’)print(input.id)print(input.location)print(input.tag_name)print(input.size)# Frameimport timefrom selenium import webdriverfrom selenium.common.exceptions import NoSuchElementExceptionbrowser = webdriver.Chrome()browser.get(’http://www.runoob.com/try/try.php?filename=jqueryui-api-droppable’)browser.switch_to.frame(’iframeResult’)source = browser.find_element_by_css_selector(’#draggable’)print(source)try: logo = browser.find_element_by_class_name(’logo’)except NoSuchElementException: print(’NO LOGO’)browser.switch_to.parent_frame()logo = browser.find_element_by_class_name(’logo’)print(logo)print(logo.text)# 等待# 隱式等待# 當使用了隱式等待執行測試的時候,如果WebDriver沒有在DOM中找到元素,將繼續等待,超出設定時間后拋出找不到元素的異常,# 換句話說,當查找元素或元素并沒有立即出現的時候,隱式等待將等待一段時間再查找DOM,默認的時間是0from selenium import webdriverbrowser = webdriver.Chrome()browser.implicitly_wait(10)browser.get(’https://www.zhihu.com/explore’)input = browser.find_element_by_class_name(’zu-top-add-question’)print(input)# 顯示等待from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as ECbrowser = webdriver.Chrome()browser.get(’https://www.taobao.com/’)wait = WebDriverWait(browser, 10)input = wait.until(EC.presence_of_element_located((By.ID, ’q’)))button = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, ’.btn-search’)))print(input, button)# 前進后退import timefrom selenium import webdriverbrowser = webdriver.Chrome()browser.get(’https://www.baidu.com’)browser.get(’https://www.taobao.com’)browser.get(’https://www.python.org’)browser.back()time.sleep(5)browser.forward()browser.close()# Cookiesfrom selenium import webdriverbrowser = webdriver.Chrome()browser.get(’https://www.zhihu.com/explore’)print(browser.get_cookies())browser.add_cookie({’name’:’name’, ’domain’:’www.zhihu.com’, ’value’:’germey’})print(browser.get_cookies())browser.delete_all_cookies()print(browser.get_cookies())# 選項卡管理import timefrom selenium import webdriverbrowser = webdriver.Chrome()browser.get(’https://www.baidu.com’)browser.execute_script(’window.open()’)print(browser.window_handles)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://python.org’)# 異常處理from selenium import webdriverbrowser = webdriver.Chrome()browser.get(’https://www.baidu.com’)browser.find_element_by_id(’hello’)from selenium import webdriverfrom selenium.common.exceptions import TimeoutException, NoSuchElementExceptionbrowser = webdriver.Chrome()try: browser.get(’https://www.baidu.com’)except TimeoutException: print(’Time Out’)try: browser.find_element_by_id(’hello’)except NoSuchElementException: print(’No Element’)finally: browser.close()

以上就是Python爬蟲之Selenium庫的使用方法的詳細內容,更多關于python Selenium庫的使用的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 北京软件开发_软件开发公司_北京软件公司-北京宜天信达软件开发公司 | 带锯机|木工带锯机圆木推台锯|跑车带锯机|河北茂业机械制造有限公司| | SMC-ASCO-CKD气缸-FESTO-MAC电磁阀-上海天筹自动化设备官网 | pbt头梳丝_牙刷丝_尼龙毛刷丝_PP塑料纤维合成毛丝定制厂_广州明旺 | 塑料检查井_双扣聚氯乙烯增强管_双壁波纹管-河南中盈塑料制品有限公司 | 全自动不干胶贴标机_套标机-上海今昂贴标机生产厂家 | 托利多电子平台秤-高精度接线盒-托利多高精度电子秤|百科 | 深圳希玛林顺潮眼科医院(官网)│深圳眼科医院│医保定点│香港希玛林顺潮眼科中心连锁品牌 | 油冷式_微型_TDY电动滚筒_外装_外置式电动滚筒厂家-淄博秉泓机械有限公司 | HEYL硬度计量泵-荧光法在线溶解氧仪-净时测控技术(上海)有限公司 | 河南包装袋厂家_河南真空袋批发价格_河南服装袋定制-恒源达包装制品 | 润滑脂-高温润滑脂-轴承润滑脂-食品级润滑油-索科润滑油脂厂家 | 石家庄救护车出租_重症转院_跨省跨境医疗转送_活动赛事医疗保障_康复出院_放弃治疗_腾康26年医疗护送转诊团队 | 大白菜官网,大白菜winpe,大白菜U盘装系统, u盘启动盘制作工具 | 减速机三参数组合探头|TSM803|壁挂式氧化锆分析仪探头-安徽鹏宸电气有限公司 | 动库网动库商城-体育用品专卖店:羽毛球,乒乓球拍,网球,户外装备,运动鞋,运动包,运动服饰专卖店-正品运动品网上商城动库商城网 - 动库商城 | 盘装氧量分析仪-防爆壁挂氧化锆分析仪-安徽吉帆仪表有限公司 | 喷码机,激光喷码打码机,鸡蛋打码机,手持打码机,自动喷码机,一物一码防伪溯源-恒欣瑞达有限公司 | 广东佛电电器有限公司|防雷开关|故障电弧断路器|智能量测断路器 广东西屋电气有限公司-广东西屋电气有限公司 | 阜阳成人高考_阜阳成考报名时间_安徽省成人高考网 | NM-02立式吸污机_ZHCS-02软轴刷_二合一吸刷软轴刷-厦门地坤科技有限公司 | 广州中央空调回收,二手中央空调回收,旧空调回收,制冷设备回收,冷气机组回收公司-广州益夫制冷设备回收公司 | 泡沫消防车_水罐消防车_湖北江南专用特种汽车有限公司 | 磁力抛光机_磁力研磨机_磁力去毛刺机_精密五金零件抛光设备厂家-冠古科技 | 禹城彩钢厂_钢结构板房_彩钢复合板-禹城泰瑞彩钢复合板加工厂 | 干洗加盟网-洗衣店品牌排行-干洗设备价格-干洗连锁加盟指南 | 生产自动包装秤_颗粒包装秤_肥料包装秤等包装机械-郑州鑫晟重工科技有限公司 | 济宁工业提升门|济宁电动防火门|济宁快速堆积门-济宁市统一电动门有限公司 | 成都亚克力制品,PVC板,双色板雕刻加工,亚克力门牌,亚克力标牌,水晶字雕刻制作-零贰捌广告 | 北京包装设计_标志设计公司_包装设计公司-北京思逸品牌设计 | 欧美日韩国产一区二区三区不_久久久久国产精品无码不卡_亚洲欧洲美洲无码精品AV_精品一区美女视频_日韩黄色性爱一级视频_日本五十路人妻斩_国产99视频免费精品是看4_亚洲中文字幕无码一二三四区_国产小萍萍挤奶喷奶水_亚洲另类精品无码在线一区 | 山东螺杆空压机,烟台空压机,烟台开山空压机-烟台开山机电设备有限公司 | 电机修理_二手电机专家-河北豫通机电设备有限公司(原石家庄冀华高压电机维修中心) | DAIKIN电磁阀-意大利ATOS电磁阀-上海乾拓贸易有限公司 | 广域铭岛Geega(际嘉)工业互联网平台-以数字科技引领行业跃迁 | 水环真空泵厂家,2bv真空泵,2be真空泵-淄博真空设备厂 | 计算机毕业设计源码网| 双效节能浓缩器-热回流提取浓缩机组-温州市利宏机械 | 高通量组织研磨仪-多样品组织研磨仪-全自动组织研磨仪-研磨者科技(广州)有限公司 | 砍排机-锯骨机-冻肉切丁机-熟肉切片机-预制菜生产线一站式服务厂商 - 广州市祥九瑞盈机械设备有限公司 | 东莞画册设计_logo/vi设计_品牌包装设计 - 华略品牌设计公司 |