python - How can I make a list of elements Selenium? -
i using selenium webdriver python , need make in loop: can this:
a=browser.find_element_by_xpath("//tbody[@id='mrc_main_table']/tr/td[1]") b=browser.find_element_by_xpath("//tbody[@id='mrc_main_table']/tr/td[2]") c=browser.find_element_by_xpath("//tbody[@id='mrc_main_table']/tr/td[3]") d=browser.find_element_by_xpath("//tbody[@id='mrc_main_table']/tr/td[n]") 1) want this:
var==browser.find_element_by_xpath("//tbody[@id='mrc_main_table']/tr/td[all_value]") 2) need output array this:
output=[anderson,isaiah,dwight,....] here's code :
import xlwt tempfile import temporaryfile selenium import webdriver browser =webdriver.firefox() browser.get( "https://report.boonecountymo.org/mrcjava/servlet/sh01_mp.i00290s" ) element=browser.find_element_by_xpath("//tbody[@id='mrc_main_table']/tr/td[1]" )#i want list output=element.text #i want list print output book = xlwt.workbook() sheet1 = book.add_sheet('sheet1') output=[anderson,isaiah,dwight,....] output= [a,b,c] row, array in enumerate(output): col, value in enumerate(array): sheet1.write(row, col, value) name = "this.xls" book.save(name) book.save(temporaryfile()) can me?
use find_elements_by_xpath() in list comprehension, , don't specify cell index:
[td.text td in browser.find_elements_by_xpath("//tbody[@id='mrc_main_table']/tr/td")] if want have list of cell values per row, need produce list of lists:
[[td.text td in row.find_elements_by_tag_name("td")] row in browser.find_elements_by_xpath("//tbody[@id='mrc_main_table']/tr")] demo:
>>> selenium import webdriver >>> pprint import pprint >>> >>> browser = webdriver.firefox() >>> browser.get("https://report.boonecountymo.org/mrcjava/servlet/sh01_mp.i00290s") >>> data = [[td.text td in row.find_elements_by_tag_name("td")] row in browser.find_elements_by_xpath("//tbody[@id='mrc_main_table']/tr")] >>> pprint(data) [['acton', 'clinton', 'wayne', 'm', 'w', '35', 'sturgeon', 'mo'], ['allen', 'shaun', 'phillip', 'm', 'w', '28', 'columbia', 'mo'], ['anderson', 'isaiah', 'dwight', 'm', 'b', '19', 'columbia', 'mo'], ... ['donati', 'robert', 'keith', 'm', 'w', '52', 'columbia', 'mo'], ['donigian', 'charles', 'ross', 'm', 'w', '20', 'columbia', 'mo']]
Comments
Post a Comment