麻豆黑色丝袜jk制服福利网站-麻豆精品传媒视频观看-麻豆精品传媒一二三区在线视频-麻豆精选传媒4区2021-在线视频99-在线视频a

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > selenium的使用

selenium的使用

來源:千鋒教育
發布人:qyf
時間: 2022-09-08 17:57:08 1662631028

selenium的使用

  所謂模擬瀏覽器基本就是下面的流程:

  請求

  顯示頁面

  查找元素

  點擊可點擊元素

  所以如何使用selenium找到頁面中的標簽,進而觸發標簽事件,就會變的尤為重要。

  1. selenium選擇器

  要想定位頁面的元素,selenium也提供了一系列的方法。

  1.通過標簽id屬性進行定位

  browser.find_element_by_id('kw') # 其中kw便是頁面中某個元素的id值

  2.通過標簽name屬性進行定位

  # 兩種方式是一樣的

  browser.find_element_by_name("wd") # 其中wd是頁面中某個元素的name值

  3.通過標簽名進行定位

  browser.find_element_by_tag_name("img") # img參數表示的就是圖片標簽img

  4.通過CSS查找方式進行定位

  browser.find_elements_by_css_selector("#kw") # 根據選擇器進行定位查找,其中#kw表示的是id選擇器名稱是kw的

  5.通過xpath方式定位

  browser.find_element_by_xpath('//*[@id="kw"]') # 參數即是xpath的語法

  6.通過搜索 頁面中 鏈接進行定位

  有時候不是一個輸入框也不是一個按鈕,而是一個文字鏈接,我們可以通過link

  browser.find_element_by_link_text("設置")

  通過搜索 頁面中 鏈接進行定位 ,可以支持模糊匹配**

  browser.find_element_by_partial_link_text("百度") # 查找頁面所有的含有百度的文字鏈接

  2.selenium顯示等待和隱式等待

  顯示等待:就是明確要等到某個元素的出現或者是某個元素的可點擊等條件,等不到,就一直等,除非在規定的時間之內都沒找到,就會跳出異常Exception

  操作格式:WebDriverWait(driver, timeout, poll_frequency=0.5, ignored_exceptions=None)

  WebDriverWait()一般由until()或 untilnot()方法配合使用

  until(method, message=' '):調用該方法提供的驅動程序作為一個參數,直到返回值為True

  `untilnot(method, message=' ')`:調用該方法提供的驅動程序作為一個參數,直到返回值為False

  from selenium import webdriver

  from selenium.webdriver.support.ui import WebDriverWait

  from selenium.webdriver.support import expected_conditions as EC

  from selenium.webdriver.common.by import By

  driver = webdriver.chrome()

  driver.get('http://www.baidu.com')

  element = WebDriverWait(driver, 5, 0.5).until(EC.presence_of_element_located((By.ID, "kw")))

  element.send_keys('selenium')

  隱式等待:就是在創建driver時,為瀏覽器對象創建一個等待時間,這個方法是得不到某個元素就等待一段時間,直到拿到某個元素位置。

  注意:在使用隱式等待的時候,實際上瀏覽器會在你自己設定的時間內部斷的刷新頁面去尋找我們需要的元素

  driver.implicitly_wait() 默認設置為0

  例如: driver.implicitly_wait(10) 。如果元素在10s內定位到了,繼續執行。如果定位不到,將以循環方式判斷元素是否被定位到。如果在10s內沒有定位到,則拋出異常

  from selenium import webdriver

  driver = webdriver.chrome()

  driver.get('http://www.baidu.com')

  # 隱式等待10秒

  driver.implicitly_wait(10)

  另外還有一種就是我們常用的sleep,我們稱為:強制等待。

  有時候我們希望腳本在執行到某一位置時暫停一段時間等待頁面加載,這時可以使用sleep()方法。sleep()方法會固定休眠一定的時長,然后再繼續執行。sleep()方法默認參數以秒為單位。

  from time import sleep

  from selenium import webdriver

  driver = webdriver.chrome()

  driver.get('http://www.baidu.com')

  # 強制休眠2秒

  sleep(2)

  driver.find_element_by_id("kw").send_keys("selenium")

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
主站蜘蛛池模板: 一个人看的www日本高清视频| 国产国语一级毛片| 免费无遮挡肉动漫在线观看| 宅男噜噜噜66网站| 男人桶女人爽羞羞漫画| 无限看片在线版免费视频大全| 女人zozozo与禽交| 美国式禁忌在完整有限中字| 中文字字幕在线精品乱码app| 国产四区| 日韩精品免费在线视频| 欧美交换乱理伦片120秒| 日本卡一卡二新区| 免费看美女部位隐私直播| 中文字幕免费在线观看动作大片| 攵女yin乱合集高h文| 久久精品99视频| 亚洲高清成人欧美动作片| 免费va欧美在线观看| 日本不卡一二三| 英国性经典xxxx| 男女之间差差差| 亚洲成人福利在线观看| 久久久香蕉视频| 亚洲三级视频在线| 精品无人区麻豆乱码1区2区| 狠狠色综合网站久久久久久久| 久久精品国产欧美日韩| 免费观看黄网站| ipx-412天海翼在线播放| 亚洲日韩天堂| 色综合视频一区二区三区| 国产日产综合| 美女扒开尿口让男人捅爽| 啦啦啦手机完整免费高清观看| 国产视频高清| 三级毛片大全| 91久久香蕉| 538在线观看| 国产成人一区二区在线不卡 | 毛片1|