1. 程式人生 > >在Selenium中如何處理單選框

在Selenium中如何處理單選框

最近遇到了頁面單選框,如何在自動化指令碼中實現自動選中的問題,通過下面這個文章,掌握了這個技巧,分享給大家,請注意“get_attribute”這個的用法,對今後類似的問題,提供了一個很好的思路,看來還是要把xpaht仔細的好好學學!順便說一下,driver.find_elements_by_tag_name,這裡的tag_name,指的是html裡的,<a></a>

選擇框選擇的方式:get_attribute
(1)根椐看到的文字來選擇:
Select(driver.find_element_by_name("wl0_net_mode")).select_by_visible_text("Disabled")

(2)根據html網頁的元素name來選擇:
Select(driver.find_element_by_name("_wl1_channel")).select_by_value(channel5g)
這裡前者直觀,但是不如後者快,後者快但是需要解析html程式碼。預設selenium使用文字來定位元素。

另外,selenium搜尋元素的時候,可以通過xpath方式來搜尋,這樣搜尋的方式應該能夠唯一的定位元素,但是如果使用inputtype來搜尋的時候,可能會出現同樣一個頁面相同type元素的時候定位錯誤的問題。selenium搜尋的時候不區分字元大小寫,所以匹配的時候匹配到第一個。


http://seleniumhq.org/docs/

http://selenium.googlecode.com/svn/trunk/docs/api/py/selenium/selenium.selenium.html?highlight=is_checked#selenium.selenium.selenium.is_checked

whether a checkbox is checked:
        print driver.find_element_by_id("dhcpsvr").is_selected()

get value
        print driver.find_element_by_id("lan_netmask").get_attribute("value")

        print driver.find_element_by_id("dhcpsvr").get_attribute("value")

#!/usr/bin/python
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
#from selenium import selenium
import unittest, time, re

class Test3(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Firefox()
        self.driver.implicitly_wait(30)
        self.base_url = "http://admin:[email protected]"
        self.verificationErrors = []
    
    def test_3(self):
        driver = self.driver
        driver.get(self.base_url + "/Wireless_Advanced.asp")

######select on wireless_advanced.asp:
        n_element = driver.find_element_by_name("wl1_nmcsidx")#find by element id

        n_select = Select(n_element)#treate the element as select.

        print "nrate:",n_element.get_attribute("value")#get element value
        print "nrate:",n_element.get_attribute("name")#get element name
        print "nrate:",n_element.tag_name#get element tag in html
        print "nrate:",n_element.text#get all the html element text of the tag.
        print n_select.first_selected_option.text #get first selected option text we can see.
    
    def is_element_present(self, how, what):
        try: self.driver.find_element(by=how, value=what)
        except NoSuchElementException, e: return False
        return True
    
    def tearDown(self):
        self.driver.quit()
        self.assertEqual([], self.verificationErrors)

if __name__ == "__main__":
    unittest.main()


相關推薦

Selenium如何處理

最近遇到了頁面單選框,如何在自動化指令碼中實現自動選中的問題,通過下面這個文章,掌握了這個技巧,分享給大家,請注意“get_attribute”這個的用法,對今後類似的問題,提供了一個很好的思路,看來還是要把xpaht仔細的好好學學!順便說一下,driver.find_el

Selenium WebDriver如何處理和多

可能大家會遇到同樣的問題,用Selenium IDE錄製單選框或多選框後,在指令碼中,如果想根據不同的用例,選擇不同的單選框或多選框的業務流程時,在WebDriver程式碼中如何維護呢?這裡有簡單處理的兩種方法: 方法一: WebElement select = dirve

HTML radio

在開始學習radio的用法的時候,覺得很簡單,但在用的時候,卻不知道怎麼進行單選,後來查了很長時間才明白其中的道理,其中,name的值是要相等的,這裡的值是什麼值都可以,只要相等就行 <input type="radio" name="男" value="

按鍵精靈HtmlCheck 選擇/清除網頁或複

命令名稱: HtmlCheck 選擇/清除網頁中的單選框或複選框 命令功能: 選擇/清除網頁中的單選框或複選框。 命令引數: 引數1:布林值,true代表選中,false代表清除引數2:字串型,網頁元素特徵字串 返 回 值: 無 指令碼例子:(8.x語法)  

vue選中值和最後傳給後臺值不一樣,怎麼獲取

vue中的單選框選中值和最後傳給後臺值不一樣:這句話的意思是如果我選擇男女,顯示的也是男女,但是我I需要給後臺的就是id。可能男的id=0,女的id=1; 這時我們應該怎麼辦呢? 去個最基礎的例子 <div id="example-4" class="demo"&

【QT】:QT和複的使用

QT中的複選框和單選框的使用跟MFC中的相同控制元件的使用是有所不同的,QT中的控制元件的使用涵蓋了更加高階的功能。 MFC中可以通過組這個功能手動的把多個控制元件組合在一起,而QT中是不能如此簡單的做到這個功能的,需要建組。 建組的方式如下: 在.h檔案

Selenium之常見元素處理系列一--(radio)

修改下圖中的性別,屬於單選框範疇 出於隱私,下面登入模組的使用者名稱與密碼都為虛構,如果需要請自行修改成自己的使用者名稱與密碼 eg 程式碼: package com.wushuai.test; import java.util.L

mui開發獲取按鈕、復的值

nbsp ++ element pretty 按鈕 選擇 return null 單選按鈕的值 js獲取單選按鈕的值 function getVals(){ var res = getRadioRes(‘rds‘); if(res == null){mui.

吾八哥學Selenium(三):操作復checkbox/radio的方法

attr webdriver for in tex 如果 Go 測試的 har selected 復選框checkbox和單選框radio是web網站裏經常會使用到的兩個控件,那麽在web自動化測試的時候如何利用Selenium來操作這倆控件呢?今天我們就來簡單入門練習一下

和復value值得獲取

二維 輸出 clas catch 個數 his code ray line 在開發過程中,為了提高代碼維護性,一般使用foreach語句來輸出復選框或者單選框中的值。例如我的這段代碼: 1 <?php 2 foreach ($Array_yanpan_r

VueCheckBox複實現效果

為什麼有radio不用,偏偏要使用CheckBox實現單選效果呢? 答案是如果想同時實現單選,又實現可以一個都不選的話。只能使用CheckBox來做了。   通過jQuery來做 實現思路: 1.如果當前物件不選中:去除當前物件的選中狀態 2.如果當前物件選中:

關於MUI中點選中的樣式

HTML---部分 <div class="mui-input-row mui-radio mui-left"> <label>設為預設</label> <input name="radio" type="radio" checked="chec

jquery獲取 動態表所有的

HTML程式碼,此處為動態生成的表: <table class="table table-striped table-bordered table-hover" id="testtable">     <thead  align="center" styl

html:表標籤/複

單選框和複選框中的value和name是怎麼不一樣的並被後臺程式使用的? value是提交資料到伺服器的值,有了這個為什麼還需要name呀? 1.aaaaa? A.***(name=“name1” value=“a”) B.****(name=“name1” v

freemarker ftl 檔案寫radioselect 下拉並且帶if條件判斷

<#list themes as t>                   <#switch t.id>                 <#case "default">    <input name="console-options-theme-menu"  ty

【2018.05.14】python3.6+selenium 和複

下面是一個單選框和複選框的HTML檔案 <html> <head> <title>"X box 單選"</title> </head> <body> &l

Unity3D 滑塊、下拉的傳值方法

我們在遊戲的設定介面經常會新增一些控制遊戲內容的按鈕 以三類按鈕和設定為例:滑塊、下拉選框、單選框 分別實現遊戲中的聲音大小調節、遊戲難度選擇、是否全屏選擇,大概介面如下 沒有什麼素材,簡單傳神一下- 。- (靈魂畫師) 這些按鈕都是可以通過NGUI來直接使用的,主要說一下

Struts2的ognl標籤介紹(property標籤、iterator標籤、if/elseif/else標籤、url標籤、url標籤、radio、select下拉選擇

Struts2中的ognl標籤介紹(property標籤、iterator標籤、if/elseif/else標籤、url標籤、url標籤、radio單選框、select下拉選擇框) property標籤用於輸出指定值: <s:set name="name" value="'kk'" /> &l

jquery獲取input輸入的值、radio選中的值、checkbox複選中的值

1)jquery獲取input輸入框中的值 如何用jquery獲取<input id="test" name="test" type="text"/>中輸入的值? $(" #test ").val() $(" input[ name='test' ] ").va

vue設定預設選中值

vue中單選框的預設選中不同於傳統方式設定checked,是通過在data中設定vulue來實現的 html部分是通過v-for取的後臺的資料 <li v-for="(value,i) in addList" :key="value.id"&