簡體   English   中英

無法使用 python selenium 提取表數據

[英]Unable to extract table data using python selenium

在此處輸入圖片說明 我的問題是最后的打印語句返回 NONE 。 我想在每行的每 6 個位置存儲值,這很好並且工作正常。 但是最后的 print(self.mystr) 沒有給我一個 value 。

請幫助/建議。

我登錄到這個網站並使用它。 嘗試自動化一些事情。

def click_single_tractor(self): #dynamically clicks tractor
    sleep(2)
    basecss = '#ctl00_ContentPlaceHolder1_PopupControlTractores_TractorGrid_DXMainTable > tbody > tr'
    cssbase = '#ctl00_ContentPlaceHolder1_PopupControlTractores_TractorGrid_DXHeadersRow > td'

    table_rows = self.driver_web_browser.find_elements_by_css_selector(basecss)
    table_data = self.driver_web_browser.find_elements_by_css_selector(cssbase)

    for index, tr in enumerate(table_rows,1):
        iteratingSelObj = self.driver_web_browser.find_elements_by_css_selector("{}:nth-child({})".format( basecss, str(index)))
        print('table row:',int(index))

        for indx, td in enumerate(table_data,1):
            iterate_td = self.driver_web_browser.find_element_by_css_selector("{}:nth-child({})".format( cssbase, str(indx)))
            print('table data:',int(indx))
            if indx == 6:
                #get value of element
                # add to string ? to get value
                

                self.mystr.append(td.get_attribute('text'))


    print(self.mystr)

我故意顯示行和表數據作為自檢,並返回正確數量的數據
7 行,每行 10 個表數據。

網絡表是一種動態的,因為偶爾會添加一個項目,這就是為什么我動態讀取信息的原因,如果我們添加一個項目,我不必弄亂代碼。

結果:

表格行:1

表數據:1 表數據:2 表數據:3 表數據:4 表數據:5 表數據:6 表數據:7 表數據:8 表數據:9 表數據:10

表行:2

表數據:1 表數據:2 表數據:3 表數據:4 表數據:5 表數據:6 表數據:7 表數據:8 表數據:9 表數據:10

表行:3

表數據:1 表數據:2 表數據:3 表數據:4 表數據:5 表數據:6 表數據:7 表數據:8 表數據:9 表數據:10

表行:4

表數據:1 表數據:2 表數據:3 表數據:4 表數據:5 表數據:6 表數據:7 表數據:8 表數據:9 表數據:10

表行:5

表數據:1 表數據:2 表數據:3 表數據:4 表數據:5 表數據:6 表數據:7 表數據:8 表數據:9 表數據:10

表行:6

表數據:1 表數據:2 表數據:3 表數據:4 表數據:5 表數據:6 表數據:7 表數據:8 表數據:9 表數據:10

表行:7

表數據:1 表數據:2 表數據:3 表數據:4 表數據:5 表數據:6 表數據:7 表數據:8 表數據:9 表數據:10

[無,無,無,無,無,無,無]

text不是 Selenium Web 元素的屬性。 我們使用 get_attribute 來獲取 web 元素的屬性,例如它的類、id 等。基本上你在<div id=..., class=.., whatever=... >看到的東西,帶有=符號稱為屬性。

要獲取 Selenium WebElement 的文本,只需使用td.text ,其中td是 Selenium Web 元素。

可以在此處找到類似的問題和答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM