欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      Selenium 彈出框、頁面跳轉(zhuǎn)總結(jié)_dangliuzi(5篇)

      時間:2019-05-15 11:04:58下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《Selenium 彈出框、頁面跳轉(zhuǎn)總結(jié)_dangliuzi》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《Selenium 彈出框、頁面跳轉(zhuǎn)總結(jié)_dangliuzi》。

      第一篇:Selenium 彈出框、頁面跳轉(zhuǎn)總結(jié)_dangliuzi

      在eclipse中運行!驗證處理過程。

      Selenium 彈出框、頁面跳轉(zhuǎn)、遍歷相同控件、執(zhí)行js

      1、對話框處理

      Alert alert = driver.switchTo().alert();alert.accept();//確定 alert.dismiss();//取消

      alert.getText();//取到文本內(nèi)容

      實際系統(tǒng)中,彈出窗口必定是某些操作完成、信息加載之后用做提示,因此彈出窗口有時出現(xiàn)得快,有時出現(xiàn)得慢,直接使用driver.switchTo().alert();很容易出現(xiàn)執(zhí)行失敗的情況。

      咱們先判斷是否出現(xiàn)了彈出框,封裝成以下方法: protected boolean alertExists(int seconds){ long start = System.currentTimeMillis();while((System.currentTimeMillis()-start)< seconds * 1000){ try { driver.switchTo().alert();return true;} catch(NoAlertPresentException ne){ System.out.println(“not find alert!”);} catch(Exception e){ throw new RuntimeException(e.getMessage());} } return false;}

      2、頁面跳轉(zhuǎn),彈出窗口 //得到當前窗口的句柄

      String currentWindow = driver.getWindowHandle();//得到所有窗口的句柄

      Set handles = driver.getWindowHandles();

      Iterator it = handles.iterator();while(it.hasNext()){ if(currentWindow == it.next())continue;WebDriver window = driver.switchTo().window(it.next());//獲得新窗口,新的webDriver實例。

      System.out.println(“title,url = ”+window.getTitle()+“,”+window.getCurrentUrl());}

      另外,還有的iframe 之間轉(zhuǎn)換方法

      driver.switchTo().defaultContent();切換到某個frame:

      driver.switchTo().frame(“l(fā)eftFrame”);從一個frame切換到另一個frame: driver.switchTo().frame(“mainFrame”);

      切換到某個window:

      driver.switchTo().window(“windowName”);

      3、遍歷控件

      List elements= driver.findElements(By.linkText(“開始學習”));elements.get(1).click();findElements()方法返回所有相同的WebElement的List,咱們直接訪問某一個元素,也可以遍歷操作,,這種功能大家都不回拒絕

      遍歷

      for(Iterator i = elements.iterator();i.hasNext();){ WebElement integerRef = i.next();}

      4、執(zhí)行JS

      Web driver對Java Script的調(diào)用是通過JavascriptExecutor來實現(xiàn)的,例如: JavascriptExecutor js =(JavascriptExecutor)driver;

      js.executeScript(“(function(){inventoryGridMgr.setTableFieldValue('”+ inventoryId + “','” + fieldName + “','”

      + value + “');})()”);

      第二篇:Java Web 彈出框總結(jié)

      Java Web 彈出框總結(jié)

      在學習java web時想對于網(wǎng)頁上的登錄驗證出錯時采用彈窗的形式給于提示,于是走到下列大致7種方式的彈窗形式,有別于Alert彈窗,根據(jù)需求可以選擇性使用

      NO1.錯誤提示彈窗

      JOptionPane.showMessageDialog(null, “alert”, “alert”, JOptionPane.ERROR_MESSAGE);

      NO2.JOptionPane.showInternalMessageDialog(frame, “information”,“information”, JOptionPane.INFORMATION_MESSAGE);此處需要一個自定義的frame,不予演示

      NO3.單選彈窗

      JOptionPane.showConfirmDialog(null, “choose one”, “choose one”, JOptionPane.YES_NO_OPTION);

      NO4.JOptionPane.showInternalConfirmDialog(frame,“please choose one”, “information”,JOptionPane.YES_NO_CANCEL_OPTION,JOptionPane.INFORMATION_MESSAGE);

      此方法需要定義一個frame,此處不予演示

      NO5.警告彈窗

      Object[] options = { “OK”, “CANCEL” };

      JOptionPane.showOptionDialog(null, “Click OK to continue”, “Warning”,JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE, null, options, options[0]);

      NO6.輸入彈窗

      @SuppressWarnings(“unused”)String inputValue = JOptionPane.showInputDialog(“Please input a value”);

      NO7.下拉選擇彈窗

      Object[] possibleValues = { “First”, “Second”, “Third” };

      @SuppressWarnings(“unused”)Object selectedValue = JOptionPane.showInputDialog(null, “Choose one”, “Input”,JOptionPane.INFORMATION_MESSAGE, null, possibleValues, possibleValues[0]);

      第三篇:解決Selenium彈出新頁面無法定位元素問題

      解決Selenium彈出新頁面無法定位元素問題

      問題來源

      一般來說,我們進行自動化登錄,之后想直接進行對圖書的續(xù)約操作,但是利用元素定位的方法,怎么都找不到元素,我一直以為是我的規(guī)則用的不對,導(dǎo)致元素找不到,其實,只是窗口句柄還停留在上一個頁面而已!對于新彈出的頁面還沒有定位!!那怎么可能找得到在新頁面的元素呢!這是新手(我)犯下最大的錯誤,只顧于對元素方法的定位,卻沒有意識到頁面發(fā)生跳轉(zhuǎn)后的handles的變化。

      請看測試;#coding=utf-8

      from selenium import webdriver import time

      browser=webdriver.Firefox()

      browser.get(“http:///body/div[3]/div[3]/div/div[3]/div[4]/h3/a”).click()#我這里修改了一下div[4],大哥的索引直接到有道翻譯了,不利于下一步測試 time.sleep(1)

      ok,這次能正常索引到值,但是!!我要說的是但是!!

      這根本沒有跳轉(zhuǎn)頁面!還是在同一個頁面進行操作的!如果我把大哥的代碼改成:

      在我測試的時候,發(fā)生了奇怪的事情,同樣的代碼,有時候能跑有時候拋出錯誤,我已設(shè)定休眠時間,難道是我頻繁訪問導(dǎo)致百度封我?剛才上述的代碼我都實際測試過的,但是現(xiàn)在又不能用了--wtf--,所以。我換了穩(wěn)定的引擎,我采用bing搜索來試試,上面的全部作廢,如果有人知道問題出在哪,請留言

      7.19補充

      應(yīng)該是搜索引擎熱點的問題,每次鍵入相同的值可能搜索結(jié)果首項會不一致的,百度可能更新熱點比較快把,所以出現(xiàn)了我所謂不穩(wěn)定的情況

      正題測試

      我和上述那位大哥不同的觀點在于,他用的 sreach_window=browser.current_window_handle

      方法并不能實現(xiàn)對新窗口句柄的捕捉,我以bing主頁為測試頁,重新構(gòu)造了一下,#coding=utf-8 from selenium import webdriver import time

      browser=webdriver.Firefox()browser.get(“http://cn.bing.com/”)keywords = 'MrLevo520 CSDN' send_keywords=keywords.decode('utf-8')#中英混輸入可防止亂碼

      browser.find_element_by_id(“sb_form_q”).send_keys(send_keywords)

      time.sleep(1)#----------操作一:進行對關(guān)鍵字MrLevo520 CSDN搜索----------------browser.find_element_by_id(“sb_form_go”).click()#執(zhí)行此操作會進行搜索,但是沒有彈出新窗口,所以句柄不用重定位 time.sleep(3)#----------操作二:對搜索頁面“我的CSDN”進行點擊操作--------------browser.find_element_by_xpath(“/html/body/div/ol/li/h2/a”).click()#進行當前頁面點擊第一項

      #--------操作三:對新彈出的頁面再點擊“貢獻的資源”選項-----sreach_window=browser.current_window_handle browser.find_element_by_xpath(“/html/body/div[3]/div[2]/div[2]/div/a[3]”).click()

      time.sleep(5)

      瀏覽器運行結(jié)果只到如圖:

      而且拋出錯誤:

      selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: {“method”:“xpath”,“selector”:“/html/body/div[3]/div[2]/div[2]/div/a[3]”}

      可見,此語句并沒有實現(xiàn)句柄重定位的功能,然后我再試試下面的方法,所有語句不變,只改變獲取當前句柄的語句,改成

      browser.switch_to_window(browser.window_handles[1])

      最后程序應(yīng)該是這樣:

      #coding=utf-8 from selenium import webdriver import time

      browser=webdriver.Firefox()browser.get(“http://cn.bing.com/”)keywords = 'MrLevo520 CSDN' send_keywords=keywords.decode('utf-8')#中英混輸入可防止亂碼

      browser.find_element_by_id(“sb_form_q”).send_keys(send_keywords)time.sleep(1)#----------操作一:進行對關(guān)鍵字MrLevo520 CSDN搜索----------------browser.find_element_by_id(“sb_form_go”).click()#執(zhí)行此操作會進行搜索,但是沒有彈出新窗口,所以句柄不用重定位 time.sleep(3)#----------操作二:對搜索頁面“我的CSDN”進行點擊操作--------------browser.find_element_by_xpath(“/html/body/div/ol/li/h2/a”).click()#進行當前頁面點擊第一項

      #--------操作三:對新彈出的頁面再點擊“貢獻的資源”選項-----browser.switch_to_window(browser.window_handles[1])browser.find_element_by_xpath(“/html/body/div[3]/div[2]/div[2]/div/a[3]”).click()

      time.sleep(5)

      最后結(jié)果,按照我的思路,進行了相應(yīng)的點擊,最后如圖

      所以從上述的例子上來說,語句sreach_window=browser.current_window_handle并沒有實現(xiàn)重定位,可能我才疏學淺,但至少,在上述的那位大哥的博客中,寫的是錯誤的,運行失敗,我對2016.7.16的所有數(shù)據(jù)負責,實際測試失敗。

      7.17-補充:另一種獲取句柄方法

      還有另一種方法,就是直接定位當前最新彈出的窗口。代碼是這樣的 for handle in browser.window_handles:#方法二,始終獲得當前最后的窗口,所以多要多次使用

      browser.switch_to_window(handle)

      那么結(jié)合到我的代碼中那就是這樣的:

      #Author:哈士奇說喵

      #因為搜索引擎檢索項根據(jù)熱度來排名,所以我只能對7.17的數(shù)據(jù)進行測試和負責,大家測試時候注意元素變化 #coding=utf-8 from selenium import webdriver import time

      browser=webdriver.Firefox()browser.get(“http://cn.bing.com/”)keywords = 'MrLevo520 CSDN' send_keywords=keywords.decode('utf-8')#中英混輸入可防止亂碼

      browser.find_element_by_id(“sb_form_q”).send_keys(send_keywords)

      time.sleep(1)#----------操作一:進行對關(guān)鍵字MrLevo520 CSDN搜索----------------browser.find_element_by_id(“sb_form_go”).click()#執(zhí)行此操作會進行搜索,但是沒有彈出新窗口,所以句柄不用重定位 time.sleep(3)#----------操作二:對搜索頁面第一項進行點擊操作--------------browser.find_element_by_xpath(“/html/body/div/ol/li/h2/a”).click()#進行當前頁面點擊第一項

      #--------操作三:對新彈出的頁面再點擊“我的頭像”選項-----#注意此時已經(jīng)是彈出的第一個窗口了,需要重新定位句柄

      '''browser.switch_to_window(browser.window_handles[1])#方法一''' for handle in browser.window_handles:#方法二,始終獲得當前最后的窗口 browser.switch_to_window(handle)

      browser.find_element_by_xpath(“//div[@id='body']/div[2]/div/div/ul[2]/div/a”).click()

      #------------------操作四:點擊“貢獻的資源”-------------------#注意此時已經(jīng)是新彈出的第二個窗口了,需要重新定位句柄

      browser.switch_to_window(browser.window_handles[2])#方法一,注意window_handles[2]變成了2 '''for handle in browser.window_handles:#方法二,始終獲得當前最后的窗口 browser.switch_to_window(handle)'''

      browser.find_element_by_xpath(“/html/body/div[3]/div[2]/div[2]/div/a[3]”).click()

      time.sleep(5)

      上面的代碼,我要說幾點,總共實現(xiàn)完成會存在三個瀏覽器窗口,也就是相當于實現(xiàn)了兩次句柄重定位功能,也就是下面的圖片,對bing搜索“MrLevo520 CSDN”跳出的最熱項,也就是這一篇(感謝大家厚愛),但是昨天最熱彈出來的是直接是我的主頁,大家從上面的動圖應(yīng)該也可以看出來,所以等你測試這段代碼的時候,可能最熱項目又變化了,道理大家懂就ok,不影響重抓句柄代碼。

      代碼實現(xiàn)了從1,到2,點擊頭像后,再跳轉(zhuǎn)到3主頁,之后再點擊“貢獻資源”,實現(xiàn)的動圖如下:

      Pay Attention

      1.搜索引擎根據(jù)熱度來排名,也就是代碼具有“不穩(wěn)定性”,應(yīng)該根據(jù)自己實際情況,定位不同元素,我只對當前編輯時間的數(shù)據(jù)負責

      2.在實際操作過程中,會產(chǎn)生第一個頁面還沒等第二個頁面緩沖完,直接又“占領(lǐng)”主視覺的問題,別擔心,句柄還是在傳遞的,程序一直在跑,而且沒有出錯,過一會時間就會更新加載頁面的,如果想要關(guān)閉無關(guān)頁面,請看這篇博客 基于Selenium一鍵寫CSDN博客

      3.可能我的代碼第一次獲取句柄和第二次獲取句柄不一樣的方法,這是為了展示,你可以兩次句柄獲取都用方法二,也可以都是用方法一,但是方法一注意修改標號。

      方法一 VS 方法二

      相比較于方法二,方法一的優(yōu)點在于后續(xù)操作,比如關(guān)閉第幾個窗口,句柄傳遞是按照順序來的。缺點在于對于較多新頁面,有時候彈出窗口太多會變得難以計算。

      而方法二,一直在獲取最后的窗口,如果你只是對最后的窗口進行操作,也就是(自己定義的)”前向“操作時,不計后果,可以直接拿來用,而且代碼不變。缺點在于,如果要返回到某個窗口句柄,那就顯得沒有方法一來的好,至少我現(xiàn)在是這么認為的,可能以后我會回來修改。

      總結(jié)

      我姑且認為這句語句,單獨作用于上述博客中是不可行的。

      所以我在后續(xù)的博客中對窗口重定向語句改成了browser.switch_to_window(browser.window_handles[1]),至少在我的實驗中,這句語句實現(xiàn)了我需要的操作。

      最后上張動圖表示流程:

      最后

      將待解決實際問題解決,方法總是好多種,就看自己想不想解決。

      第四篇:asp.net 頁面跳轉(zhuǎn) 學習課件

      頁面跳轉(zhuǎn)

      public partial class Default2 : System.Web.UI.Page

      {

      protected void Page_Load(object sender, EventArgs e)

      {

      if(!IsPostBack)

      {

      bind();

      }

      }

      protected void bind()

      {

      SqlConnection con = new

      SqlConnection(ConfigurationManager.ConnectionStrings[“newsConnectionString”].ConnectionString);con.Open();

      string sql = “select * from login where 編號='” + Request.QueryString[“編號”] + “'”;SqlDataAdapter sda = new SqlDataAdapter(sql, con);

      DataSet ds = new DataSet();

      sda.Fill(ds, “l(fā)ogin”);

      DataRowView drv = ds.Tables[“l(fā)ogin”].DefaultView[0];

      TextBox1.Text = Convert.ToString(drv.Row[“編號”]);

      TextBox2.Text = Convert.ToString(drv.Row[“用戶名”]);

      TextBox3.Text = Convert.ToString(drv.Row[“密碼”]);

      TextBox4.Text = Convert.ToString(drv.Row[“年齡”]);

      TextBox5.Text = Convert.ToString(drv.Row[“性別”]);

      TextBox6.Text = Convert.ToString(drv.Row[“備注”]);

      con.Close();

      }

      }

      第五篇:JS分段獲取URL解析和js跳轉(zhuǎn)頁面

      js跳轉(zhuǎn)頁面方法

      3布丁足跡;秒后自動跳轉(zhuǎn)……

      按鈕式:

      第五種:

      =====j(luò)avascript中彈出選擇框跳轉(zhuǎn)到其他頁面=====

      =====j(luò)avascript中彈出提示框跳轉(zhuǎn)到其他頁面=====

      JS分段獲取URL解析

      完整的URL由這幾個部分構(gòu)成:

      scheme://host:port/path?query#fragment

      scheme = 通信協(xié)議(常用的http,ftp,maito等)host = 主機(域名或IP)port = 端口號 path = 路徑

      query = 查詢

      可選,用于給動態(tài)網(wǎng)頁(如使用CGI、ISAPI、PHP/JSP/ASP/ASP.NET等技術(shù)制作的網(wǎng)頁)傳遞參數(shù),可有多個參數(shù),用”&”符號隔開,每個參數(shù)的名和值用”=”符號隔開。

      fragment = 信息片斷

      字符串,用于指定網(wǎng)絡(luò)資源中的片斷。例如一個網(wǎng)頁中有多個名詞解釋,可使用fragment直接定位到某一名詞解釋。(也稱為錨點.)對于這樣一個URL http://www.master8.net:80/seo/?ver=1.0&id=6#imhere

      我們可以用javascript獲得其中的各個部分 1, window.location.href

      整個URl字符串(在瀏覽器中就是完整的地址欄)

      2,window.location.protocol URL 的協(xié)議部分 本例返回值:http:

      3,window.location.host URL 的主機部分

      本例返回值:www.master8.net

      4,window.location.port URL 的端口部分

      如果采用默認的80端口(update:即使添加了:80),那么返回值并不是默認的80而是空字符 本例返回值:”"

      5,window.location.pathname URL 的路徑部分(就是文件地址)本例返回值:/seo/

      6,window.location.search 查詢(參數(shù))部分

      除了給動態(tài)語言賦值以外,我們同樣可以給靜態(tài)頁面,并使用javascript來獲得相信應(yīng)的參數(shù)值 本例返回值:?ver=1.0&id=6

      7,window.location.hash 錨點

      本例返回值:#imhere

      單位:廣州本盈計算機科技有限公司

      地址:廣州市天河區(qū)棠東東路9號御富科貿(mào)園D座D217-218-219

      職位:PHP程序員 聯(lián)系人:羅獅龍

      聯(lián)系人電話:***

      下載Selenium 彈出框、頁面跳轉(zhuǎn)總結(jié)_dangliuzi(5篇)word格式文檔
      下載Selenium 彈出框、頁面跳轉(zhuǎn)總結(jié)_dangliuzi(5篇).doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔相關(guān)法律責任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        用Js腳本實現(xiàn)頁面跳轉(zhuǎn)5則范文

        1. Javascript 返回上一頁 history.go(-1), 返回兩個頁面: history.go(-2); 2. history.back. 3. window.history.forward返回下一頁 4. window.history.go(返回第幾......

        小程序的頁面跳轉(zhuǎn)以及參數(shù)傳遞

        第九程序小程序的頁面跳轉(zhuǎn)以及參數(shù)傳遞 ? 頁面跳轉(zhuǎn) ? 參數(shù)傳遞 微信小程序的頁面跳轉(zhuǎn),頁面之間傳遞參數(shù)筆記 先上demo圖: 為了簡化邏輯,所以index.wxml里面只寫了兩個text.既然......

        跳轉(zhuǎn)指令總結(jié)

        JE;等于則跳轉(zhuǎn) JNE;不等于則跳轉(zhuǎn)JZ;為 0 則跳轉(zhuǎn) JNZ;不為 0 則跳轉(zhuǎn) JS;為負則跳轉(zhuǎn) JNS;不為負則跳轉(zhuǎn)JC;進位則跳轉(zhuǎn) JNC;不進位則跳轉(zhuǎn)JO;溢出則跳轉(zhuǎn) JNO;不溢出則跳轉(zhuǎn)JA;無符......

        PPT導(dǎo)航菜單按鈕跳轉(zhuǎn)任意頁面(范文大全)

        PPT導(dǎo)航菜單按鈕跳轉(zhuǎn)任意頁面 PPT制作的演講稿,由于內(nèi)容比較多,又需要在幾個頁面之間跳轉(zhuǎn),那么如何在PPT中加入一些按鈕實現(xiàn)這個功能呢?通常情況下只需要添加按順序跳轉(zhuǎn)的功能按......

        扣丁學堂簡述mui幾種頁面跳轉(zhuǎn)方式

        扣丁學堂簡述mui幾種頁面跳轉(zhuǎn)方式 現(xiàn)在想要學習HTML5開發(fā)技術(shù)的小伙伴仍然在不斷的增加,所以現(xiàn)在不論是參加HTML5培訓(xùn)還是自學HTML5開發(fā)技術(shù)的人都在不斷的增加,本篇文章小編......

        頁面功能測試點總結(jié)

        頁面功能測試點總結(jié) 本資料由織雀教育從網(wǎng)上整理,僅供學習交流,請務(wù)做商業(yè)用途 1. 頁面鏈接檢查:每一個鏈接是否都有對應(yīng)的頁面,并且頁面之間切換正確??梢允褂靡恍┕ぞ?,如Link......

        寶貝頁面裝修總結(jié)

        寶貝頁面裝修總結(jié)1:店鋪活動營造促銷的氛圍,渲染店鋪特色,促銷活動的通告或預(yù)告,新款上線的通告或預(yù)告,主推款式的海報,大促時可以考慮加入關(guān)聯(lián)營。2:模特圖+文案展示上身效果,激發(fā)......

        九種js彈出對話框的方法總結(jié)

        九種js彈出對話框的方法總結(jié)- 九種js彈出對話框的方法總結(jié),需要的朋友可以參考一下 - 【1、最基本的js彈出對話框窗口代碼】 這是最基本的js彈出對話框,其實代碼就幾句非常......