我对Python(和堆栈溢出)是完全陌生的,我正在尝试寻找一种有效的方法来从内部网站(具有多个页面)中的表中提取数据。
以下代码可以正常工作,但是由于该网站有16页,因此我需要找到一种方法来简化此For循环。
任何帮助将不胜感激。谢谢
\\\
first = '//*[@id="container"]/table/tbody/tr['
second ="]/td["
last = "]"
for n in range(1,rows+1):
for m in range(1,cols+1):
final_path = (first+str(n)+second+str(m) + last)
table = driver.find_element_by_xpath(final_path).text
print(table, end= " ")
print()
# - Click on Page 2 and get all the table data from there.
driver.find_element_by_link_text("2").click()
for n in range(1,rows+1):
for m in range(1,cols+1):
final_path = (first+str(n)+second+str(m) + last)
table = driver.find_element_by_xpath(final_path).text
print(table, end= " ")
print()
# - Click on Page 3 and get all the table data from there.
driver.find_element_by_link_text("3").click()
for n in range(1,rows+1):
for m in range(1,cols+1):
final_path = (first+str(n)+second+str(m) + last)
table = driver.find_element_by_xpath(final_path).text
print(table, end= " ")
print()
\\\
谢谢。
答案 0 :(得分:0)
您可以添加另一个封闭的for循环。
for page_no in range(2, 17): # 2...16
driver.find_element_by_link_text(str(page_no)).click()
for n in range(1,rows+1):
for m in range(1,cols+1):
final_path = (first+str(n)+second+str(m) + last)
table = driver.find_element_by_xpath(final_path).text
print(table, end= " ")
print()