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

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Python爬蟲之Selenium庫(kù)的使用方法

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

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

# 基本使用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()# 聲明瀏覽器對(duì)象from selenium import webdriverbrowser = webdriver.Chrome()browser = webdriver.Firefox()browser = webdriver.Edge()browser = webdriver.PhantomJS()browser = webdriver.Safari()# 訪問(wèn)頁(yè)面from selenium import webdriverbrowser = webdriver.Chrome()browser.get(’https://www.taobao.com’)print(browser.page_source)browser.close()# 查找元素# 單個(gè)元素from selenium import webdriverbrowser = webdriver.Chrome()browser.get(’https://www.taobao.com’)# 下面三個(gè)效果是一樣的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()# 多個(gè)元素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()# 元素交互操作# 對(duì)獲取的元素調(diào)用交互方法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()# 交互動(dòng)作# 將動(dòng)作附加到動(dòng)作鏈中串行執(zhí)行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()# 執(zhí)行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、位置、標(biāo)簽名、大小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)# 等待# 隱式等待# 當(dāng)使用了隱式等待執(zhí)行測(cè)試的時(shí)候,如果WebDriver沒有在DOM中找到元素,將繼續(xù)等待,超出設(shè)定時(shí)間后拋出找不到元素的異常,# 換句話說(shuō),當(dāng)查找元素或元素并沒有立即出現(xiàn)的時(shí)候,隱式等待將等待一段時(shí)間再查找DOM,默認(rèn)的時(shí)間是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)# 前進(jìn)后退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())# 選項(xiàng)卡管理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庫(kù)的使用方法的詳細(xì)內(nèi)容,更多關(guān)于python Selenium庫(kù)的使用的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 青草香蕉精品视频在线观看 | 激情免费网站 | 成人99国产精品一级毛片 | 国产精品一区二区三区久久 | 欧美日韩国产亚洲人成 | 一区二区三区在线 | 亚洲精品一区二区三区网址 | 成 人 黄 色视频免费播放 | 国产精品99久久久久久夜夜嗨 | 毛片在线免费播放 | 亚洲巨乳自拍在线视频 | 日本高清免费不卡视频 | 青青青青爽极品在线视频 | 精品视频久久久 | 日韩在线看片中文字幕不卡 | 日本亚洲国产 | 国产精品jizz在线观看网站 | 国产福利区一区二在线观看 | 精品国产品香蕉在线观看75 | 91tm视频| 免费中国一级啪啪片 | 国产又黄又潮娇喘视频免费 | 成本人h片3d动漫网站在线看 | 亚洲 欧美 精品 中文第三 | 日本a级特黄特黄刺激大片 日本a黄 | xxx毛茸茸的亚洲 | 久久久久久久国产精品毛片 | 中文日韩字幕 | 欧美一级做a爰片免费 | 正在播放国产酒店露脸 | 一级不卡毛片免费 | 国产男同志gay毛片欧美 | 91国在线 | 欧美精品亚洲精品 | 日韩特级毛片 | 欧美一级级a在线观看 | 亚洲欧美一级夜夜爽w | 好爽快一点视频在线观看 | 亚洲欧美在线视频 | 婷婷黄色片 | 国产精品一区二区三区四区五区 |