2014-06-11 48 views
0

找到的元素,我想找到以下元素:使用Python selenium.webdriver

<input type="text" value="" action-data="text=郵箱/會員帳號/手機號" action-type="text_copy" class="W_input " name="username" ... 

這裏是HTML標籤部分,有多個input具有相同的名稱和類屬性。所以我想用normal_form div屬性來找到它。

此代碼不起作用:

browser.find_element_by_css_selector('input[action-type="text_copy"]') 

我覺得領域action-type是不是一個標準的領域。

我該怎麼辦? 謝謝。

<div class="W_login_form" node-type="normal_form"> 
<div class="info_list" node-type="username_box"> 
    <div class="inp username "> 
     <input type="text" value="" action-data="text=郵箱/會員帳號/手機號" action-type="text_copy" class="W_input " name="username" node-type="username" tabindex="1" maxlength="128" autocomplete="off"> 
    </div> 
</div> 


我想,這樣一來,我可以找到的元素。

browser.find_element_by_xpath("//div[@class='W_login_form']/div/div/input") 

它發現divW_login_form類第一,並尋找divdiv一步,和最後得到input

你有什麼好主意嗎?

+0

問題要求代碼必須證明正在解決這個問題的一個最小的理解。包括嘗試解決方案,爲什麼他們沒有工作,以及預期的結果。另請參閱:堆棧溢出問題清單:http://meta.stackexchange.com/questions/156810/stack-overflow-question-checklist – ElmoVanKielmo

+0

您能否介紹一下您用來解決問題的任何Python代碼? –

+0

好的,我會做的 – user3713675

回答

0

試試這個:

browser.find_element_by_xpath("//div[@class='info_list']//input") 
+0

這裏的雙/意味着什麼? – user3713675

+0

double //意思是跳過關卡,一個意思是一個直接的孩子。 div與類和輸入之間只有一個div。 – user3723314

+0

另一個錯誤是您正在使用'W_login_form'類查找div,但輸入是在'info_list'類中的div中。 – user3723314