2015-12-18 95 views
0

對於下面的html代碼:如何使用Selenium Webdriver選擇嵌套的css元素?

<div class="r signbox"> 
    <form method="POST" id="loginByEmail"> 
     <dl> 
      <dt>Seller Login</dt> 
      <dd> 
       <input type="text" class="text" name="email" placeholder="Email Address" value=""> 
       <div class="error"></div> 

我怎麼能選擇的名字「電子郵件」屬性?之所以會這樣,是因爲該網站使用兩個具有相同名稱的表單框,所以我想專門針對類「r signbox」中的一個。感謝您的幫助,Selenium Webdriver是全新的。

回答

0

首先在選擇器中選擇類「r signbox」的所有內容。

當您選擇所需的信息後,您可以在同一代碼塊中使用序列中的新選擇器獲取消除信息。正如你所問,使用attr名稱將是:

$(「。r.signbox [class ='email']」);

0

同義詞您的意思是ID屬性?

如果是這樣,那很奇怪。

如果沒有,我建議你先映射形式元素和輸入後。這樣做,你會阻止你的測試的情況下,打破另一個形式div.r.signbox形式之間增加。#loginByEmail

反正@Striter awnser不正確,因爲他尋找任何與電子郵件作爲類。

小費是使用標籤名稱更精確:

div.r.signbox input[name='email'] 

這看起來對於一個div既[Rsignbox這個元素中(見的空間?)爲輸入屬性名稱值爲電子郵件

即使有人把DIV與珍視爲和DT之間DD電子郵件屬性,你定位器將正常工作。

這裏是一個很好的參考CSS選擇:https://saucelabs.com/selenium/css-selectors

如果你喜歡的書籍中,硒測試工具第一章食譜會給你很好的瞭解:http://www.amazon.com/Selenium-Testing-Cookbook-Gundecha-Unmesh/dp/1849515743

相關問題