Tôi đang cố gắng phân tích một số cột trong một bảng thành từ điển bằng Selenium, nhưng những gì tôi có vẻ chậm. Tôi đang sử dụng python, Selenium 2.0 và webdriver.Chrome()Lấy văn bản của bảng một cách nhanh chóng trong Selenium
table = self.driver.find_element_by_id("thetable")
# now get all the TR elements from the table
all_rows = table.find_elements_by_tag_name("tr")
# and iterate over them, getting the cells
for row in all_rows:
cells = row.find_elements_by_tag_name("td")
# slowwwwwwwwwwwwww
dict_value = {'0th': cells[0].text,
'1st': cells[1].text,
'2nd': cells[2].text,
'3rd': cells[3].text,
'6th': cells[6].text,
'7th': cells[7].text,
'10th': cells[10].text}
Vấn đề dường như nhận được thuộc tính 'văn bản' của từng phần tử td. Có cách nào nhanh hơn không?
Bạn có bị ngoại lệ không? hoặc chỉ thực hiện chậm? Nếu nó chỉ là chậm thì việc tìm kiếm phần tử bằng 'xpath' hoặc' css' có thể nhanh hơn một chút. – Saifur
Không có ngoại lệ, nó chỉ mất một lúc để xử lý mỗi hàng. – PearSquirrel
Lưu ý rằng row.find_elements_by_tag_name khá nhanh. Nó chỉ là 'ô [#]. Văn bản' làm chậm mọi thứ xuống – PearSquirrel