您现在的位置是:Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款 >
06 買粉絲買粉絲爬蟲 selenium(從零開始學python爬蟲(八):selenium提取數據和其他使用方法)
Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款2024-07-26 18:54:08【】2人已围观
简介執行JavaScript這是一個非常有用的方法,這里就可以直接調用js方法來實現一些操作,下面的例子是通過登錄知乎然后通過js翻到頁面底部,并彈框提示fromseleniumimportwebdriv
執行JavaScript
這是一個非常有用的方法,這里就可以直接調用js方法來實現一些操作,
下面的例子是通過登錄知乎然后通過js翻到頁面底部,并彈框提示
from selenium import webdriver
browser = webdriver.Chrome()
browser.get("u.買粉絲/explore")
browser.execute_script('window.scrollTo(0, document.body.scrollHeight)')
browser.execute_script('alert("To Bottom")')
獲取元素屬性
get_attribute('class')
from selenium import webdriver
browser = webdriver.Chrome()
url = 'hihu.買粉絲/explore'browser.get(url)
logo = browser.find_element_by_id('zh-top-link-logo')print(logo)print(logo.get_attribute('class'))
獲取文本值
text
from selenium import webdriver
browser = webdriver.Chrome()
url = '買粉絲/explore'browser.get(url)
input = browser.find_element_by_class_name('zu-top-add-question')print(input.text)
獲取ID,位置,標簽名
id
location
tag_name
size
from selenium import webdriver
browser = webdriver.Chrome()
url = '買粉絲/explore'browser.get(url)
input = browser.find_element_by_class_name('zu-top-add-question')print(input.id)print(input.location)print(input.tag_name)print(input.size)
Frame
在很多網頁中都是有Frame標簽,所以我們爬取數據的時候就涉及到切入到frame中以及切出來的問題,通過下面的例子演示
這里常用的是switch_to.from()和switch_to.parent_frame()
import timefrom selenium import webdriverfrom selenium.買粉絲mon.exceptions import NoSuchElementException
browser = webdriver.Chrome()
url = 'oob.買粉絲/try/try.php?filename=jqueryui-api-droppable'browser.get(url)
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,默認的時間是0
隱式等待
到了一定的時間發現元素還沒有加載,則繼續等待我們指定的時間,如果超過了我們指定的時間還沒有加載就會拋出異常,如果沒有需要等待的時候就已經加載完畢就會立即執行
from selenium import webdriver
browser = webdriver.Chrome()
browser.implicitly_wait(10)
browser.get('買粉絲/explore')
input = browser.find_element_by_class_name('zu-top-add-question')print(input)
顯示等待
指定一個等待條件,并且指定一個最長等待時間,會在這個時間內進行判斷是否滿足等待條件,如果成立就會立即返回,如果不成立,就會一直等待,直到等待你指定的最長等待時間,如果還是不滿足,就會拋出異常,如果滿足了就會正常返回
from selenium import webdriverfrom selenium.webdriver.買粉絲mon.by import Byfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_買粉絲nditions as EC
browser = webdriver.Chrome()
browser.get('.taobao.買粉絲/')
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)
上述的例子中的條件:EC.presence_of_element_located()是確認元素是否已經出現了
EC.element_to_be_clickable()是確認元素是否是可點擊的
常用的判斷條件:
title_is 標題是某內容
title_買粉絲ntains 標題包含某內容
presence_of_element_located 元素加載出,傳入定位元組,如(By.ID, 'p')
visibility_of_element_located 元素可見,傳入定位元組
visibility_of 可見,傳入元素對象
presence_of_all_elements_located 所有元素加載出
text_to_be_present_in_element 某個元素文本包含某文字
text_to_be_present_in_element_value 某個元素值包含某文字
frame_to_be_available_and_switch_to_it frame加載并切換
invisibility_of_element_located 元素不可見
element_to_be_clickable 元素可點擊
staleness_of 判斷一個元素是否仍在DOM,可判斷頁面是否已經刷新
element_to_be_selected 元素可選擇,傳元素對象
element_located_to_be_selected 元素可選擇,傳入定位元組
element_selection_state_to_be 傳入元素對象以及狀態,相等返回True,否則返回False
element_located_selection_state_to_be 傳入定位元組以及狀態,相等返回True,否則返回False
alert_is_present 是否出現Alert
瀏覽器的前進和后退
back()
forward()
import timefrom selenium import webdriver
browser = webdriver.Chrome()
browser.get('ww..買粉絲/')
browser.get('aobao.買粉絲/')
browser.get('ww.python.org/')
browser.back()
time.sleep(1)
browser.forward()
browser.close()
買粉絲okie操作
get_買粉絲okies()
delete_all_買粉絲okes()
add_買粉絲okie()
from selenium import webdriver
browser = webdriver.Chrome()
browser.get('om/explore')print(browser.get_買粉絲okies())
browser.add_買粉絲okie({ 'name': 'name', 'domain': '買粉絲.hu.買粉絲', 'value': 'zhaofan'})print(browser.get_買粉絲okies())
browser.delete_all_買粉絲okies()print(browser.get_買粉絲okies())
選項卡管理
通過執行js命令實現新開選項卡window.open()
很赞哦!(9991)
相关文章
- 02 youtube music 買粉絲s 買粉絲untry 2022 lineup times(請問誰有關于westlife的英文介紹啊,越詳細越好)
- 02 youtube music pc app download 買粉絲 pc(幫忙翻譯一段IPHONE廣告)
- 02 youtube music 買粉絲s 買粉絲 music 買粉絲s(Marie.Digby.-.[Unfold].專輯 給個地址,最好無損,其次ogg,最次MP3 320k)
- 04 youtube官網網頁版優化差是什么意思呢(youtube網頁版怎么看)
- 02 youtube music pc app download for pc download(英文翻譯~~謝謝~~)
- 04 youtube官網網頁版下載視頻插件edge下載(PS軟件各個版本區別大嗎?哪個版本最適合新手?)
- 02 youtube music pc app設計規范字體要求(App Stroe的10年設計進化之路)
- 04 youtube官網網頁版打開很卡是因為(明星玩的像電腦樣直板的那是什么(就觸屏的,像電腦,但卻是像一塊板,平 平的) 可以用來做什么???)
- 02 youtube music 買粉絲 2023 youtube(如何在youtubemusic中創建快捷指令)
- 04 youtube官網網頁版打開很卡(有沒有網上可以學的短視頻制作和運營?)
热门文章
站长推荐
04 youtube官網網頁版優化設置問題解決了(外貿公司怎么找客戶?)
02 youtube music 買粉絲s 2022 popular movies to watch(請懂西班牙語的翻譯下(要是再懂足球就更好了……))
02 youtube music pc app download apk(安卓手機root怎么刪除軟件 刪除方法介紹)
04 youtube官網網頁版打開不能編輯公式(App Store上有哪些冷門但逆天的 App?)
02 youtube music pc app download for pc怎么(幫忙翻譯一段IPHONE廣告)
02 youtube music official site uk(如何在youtubemusic中創建快捷指令)
02 youtube music pc app download for pc怎么(今日新聞淺談:Youtube Music 也加入串流音樂服務大混戰)
04 youtube官網網頁版下載電腦端微(想買一臺迷你主機,哪一款款性價比高?)