一、selenium中元素定位共有八種
idname
classname
tagname
linktext
partiallinktext
xpath
cssselector
其中前六種都比較簡單,通過id一般可以得到乙個唯一的定位,其他五種要注意元素是否唯一,如果有多個,返回的是匹配的第乙個元素。
二、xpath定位
1.通過絕對路徑定位
dr.findelement(by.xpath("/html/body/div[2]/div/div/div/div/form/span/input"));
個人測試,第乙個html前的斜槓可以有也可以沒有。xpath定位時,下標從1開始,如div[2]代表第二個div
2.通過相對路徑定位
dr.findelement(by.xpath("//body/div[2]/div/div/div/div/form/span/input"));
3.通過屬性值定位
dr.findelement(by.xpath(「input[@]id=『su』」));
4.通過層級定位,某個元素不容易定位,但是它的父元素可以容易定位到
dr.findelement(by.xpath("//form[@id=『form』]/span/input"));
5.通過多個屬性的邏輯運算子
dr.findelement(by.xpath("//input[@id=『kw』 and @class=『s_ipt』]") );
注意:當值中含空格的時候,會定位不到,如這樣定位dr.findelement(by.classname(「bg s_btn」));所以當有空格時,換乙個其他的值進行定位就好了。
三、通過cssselector定位
1.通過id選擇器定位
dr.findelement(by.cssselector(「input#kw」) ).sendkeys(「test」);
2.通過類名定位器定位
dr.findelement(by.cssselector(「input.s_ipt」)).sendkeys(「test」);
3.通過父子元素
dr.findelement(by.cssselector(「form#form>span>input[name=『wd』]」)).sendkeys(「test」);
4.通過屬性名,多個時,將屬性用連線在一起
dr.findelement(by.cssselector(「input[id=『kw』][name=『wd』]」)).sendkeys(「test」);
selenium中隱藏元素 動態元素如何定位?
1 如何判斷乙個頁面上元素是否存在?判斷元素存在方法有3種 存在返回true,不存在返回false 方法1 用try except def is element exsist1 driver,locator param driver webdriver param locator tuple ret...
selenium中常用的python函式
1.獲取當前頁面的url函式 方法 current url 例項 driver.current url 2.獲取元素座標 方法 location 解釋 首先查詢到你要獲取元素的,然後呼叫location方法 例項 driver.find element by xpath type submit lo...
selenium常用定位元素屬性詳解
css 是一種用於發現html或xml等檔案樣式的前端頁面語言,主要用於描述頁面元素的展現和樣式的定義。css定位方式和xpath定位方式基本相同,只是css定位表示式有其他自己的格式。css定位比xpath定位速度快 穩定。例項 定位測試網頁中,查詢第乙個div元素中的 確定 按鈕 1 使用絕對路...