2016-05-30 92 views
0
獲取使用硒的webdriver在HTML表特定細胞的數據

我的問題的目的:要獲得候選人的名稱(這是一個HTML表的一部分),並將其寫入到文件中。與Python

(我的整個程序,第2點,目的是:在網站中鍵入一個登記號,點擊提交,得到了候選人的名字(這是問題),把註冊號與名稱的文件,然後回去和重複相同的,直到最後一個數字) 表如下所示:HTML TABLE IN THE SITE

  1. 的HTML代碼,只爲表如下:

<table id="details" class="table"> 
 
<tbody> 
 
<tr> 
 
<td width="15%">Name</td> 
 
<td width="85%" colspan="3"><span style="font-weight: bold"> ANILKUMAR      </span></td> 
 

 
</tr> 
 
<tr> 
 
<td>Reg. No.</td> 
 
<td colspan="3"><span style="font-weight: bold"> 461684</span></td> 
 
</tr> 
 
</tbody> 
 
</table>

2.My PYTHON代碼,如根據其目的指定,

from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 
import pyautogui,pyperclip 

#Function. 
def fun1(roll_no): 
    while(i<999999): 

     #INPUT: Put's the number in text bar, in Home Page, then clicks "Submit" 

     inputElement = browser.find_element_by_id("reg")  
     inputElement.send_keys(roll_no) 
     inputElement.send_keys(Keys.ENTER) 

     #SNIPPET TO GET THE NAME OF CANDIDATE, HOW? 

     #fs.write(str(i)+'\t'+name+'\n') , to WRITE INTO FILE. 
     #'name' in above line refers to the candidate's name, a string. 

     #OUT: Click's the "Back" button to go back to Home Page. 

     outputElement = browser.find_element_by_link_text('Back') 
     outputElement.click() 
     roll_no = roll_no + 1 



#MAIN MODULE 

#OPENS Firefox using selenium webdriver 
browser = webdriver.Firefox() 

#The intended "Home Page" 
browser.get("http://karresults.nic.in/indexpuc_2016.asp") 

roll_no=110000 #Starting Roll Number. 

#File open for writing. 
fs=open("testfile.txt","w") 
#call the function 
fun1(i) 
  • 候選的名稱是總是在排= 0,列= 1。 我需要的是使用硒訪問名稱的單元格。我不需要遍歷所有的單元格。 請幫助我,我對Python和Selenium Webdriver Utility非常陌生。此外,我有一個鏈接包括上面的圖片(我不能直接張貼圖片,因爲我已經新,這是我的第一個問題,因此沒有聲譽)。 任何幫助將不勝感激。 謝謝!
  • 回答

    1

    可以使用find_elements_by_xpath()來查找使用以下XPath包含文本名稱元素的所有兄弟姐妹:

    list = driver.find_elements_by_xpath("td[text()='Name']/following-sibling::td/span") 
    for element in list: 
        print element.text 
    
    +1

    感謝您的幫助,先生!我遇到了xpath部分的問題。我已經修改了一些片段,並根據需要進行了工作。 –