【发布时间】:2021-01-07 04:50:02
【问题描述】:
我遇到的问题是最后的打印语句返回 NONE 。我想将值存储在每行中的每 6 个位置,这很好并且工作正常。 但是最后的 print(self.mystr) 并没有给我一个价值。
请帮助/建议。
我登录该网站并使用它。试图自动化一些事情。
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
[无,无,无,无,无,无,无]
【问题讨论】:
-
您的问题不完整,请同时发布 HTML sn-p
-
self.mystr.append(td.text) 对我不起作用。还有其他方法可以让我获得这个价值吗?
标签: javascript python python-3.x selenium selenium-webdriver