亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

Python爬蟲之Selenium庫的使用方法

瀏覽:7日期: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 編程
相關文章:
主站蜘蛛池模板: 久草91| 香蕉人精品视频多人免费永久视频 | 在线观看视频日韩 | 性殴美 | 免费看爱爱视频 | 福利综合网| 亚洲午夜国产片在线观看 | 国产成人精品久久 | 欧美三级一区二区三区 | 91精品在线播放 | 欧美日韩在线视频专区免费 | 美女黄色在线网站大全 | 一级毛片a女人刺激视频免费 | 欧美黑人两根巨大挤入 | 99久久伊人 | 天天更新天天久久久更新影院 | 中文字幕在线观看第一页 | 在线观看视频一区二区三区 | 久久免费观看国产精品88av | 二区三区在线观看 | 伊人色婷婷 | 在线免费观看91 | 日韩亚洲成a人片在线观看 日韩亚洲欧美一区二区三区 | 亚洲成人av| 欧美日产国产亚洲综合图区一 | 在线免费三级 | 97色婷婷成人综合在线观看 | 天天影视欧美综合在线观看 | 久久91亚洲精品久久91综合 | 美女被免费网站视频九色 | 欧美亚洲另类久久综合 | 国产精品一区欧美激情 | 91午夜精品亚洲一区二区三区 | 香蕉久久夜色精品国产2020 | 哪里可以看黄色播放免费 | 日韩网站免费 | 成年美女毛片黄网站色奶头大全 | 久久www免费人成看片色多多 | 野战好大好紧好爽视频 | 久久99精品国产99久久6男男 | 第一福利在线 |