2017-06-02 192 views
0

我正在嘗試使用Python Selenium在網站上的輸入框中輸入自定義值。如何使用Python Selenium選擇表格中的元素?

html顯示這個元素存儲在一個表中。 html和我的代碼如下所示。我已經嘗試用class'filterLink'和class'value'在元素上發送密鑰。可以在表格數據元素上發送密鑰嗎? 或者我應該尋找其他地方的HTML發送密鑰在這個領域?

我正的錯誤是「消息:未知的錯誤:無法對焦元素」

非常感謝!

<div class="ContentSourceTypeData show" group="Provider Type"> 
    <ul> 
     <li> 
     <table class="listItem"> 
      <tbody> 
      <tr> 
       <td class="label"> 
        <a class="filterLink" href="javascript:void(0);" value="bank" name="Banks" address="true"> 
         <span class="value">Banks</span>&nbsp;(1831) 
        </a> 
       </td> 
       </tr> 
      ..... 

My code... 

index_details_elem = browser.find_element_by_class_name('ContentSourceTypeData') 

nameTable = index_details_elem.find_elements_by_class_name("listItem")[0] # 
Select first listItem as element 
nameDataElem = nameTable.find_element_by_class_name("label") 

#nameInputElem = nameDataElem.find_elements_by_class_name("value") #used the above line instead of this one as the 'span' element seemed to be causing an issue 
#print nameElem.location() 
#nameDataElem.click() # removed as I can't click in a table 

nameDataElem.send_keys("lookup value") 
+0

DOM中沒有「輸入」標籤..你怎麼發送sendkeys? –

+0

你能提供更多的信息,比如你想要自動化的網站嗎?因爲我在HTML代碼中看不到輸入標記 –

+0

對不起,我沒有添加網站。這只是一個需要數據許可和付費用戶名/密碼的地方,所以我無法分享。 什麼是'DOM'? 我還沒有看到其他webelements上的輸入標誌,我已經能夠使用sendkeys –

回答

0

我希望你能夠send_keys到任何硒webelement。我可能會使用一個CSS選擇器(也許有另一個名稱爲「label」的頁面上的元素)。嘗試這樣做:

webelement = "a[class=\"filterLink\"]" 
webelement.send_keys("lookup value") 

這將選擇所有「a」元素,以「filterLink」的類值,然後發送鍵「查找值」來了。

+0

謝謝,我已經檢查過。所有'filterlink'類都具有相同的結構,並且沒有輸入部分。也許這是因爲這是網站上的下拉菜單,而不是免費的輸入框 –

+0

這可能是。當您執行send_keys時,是否顯示下拉菜單? – Brydenr

相關問題