以下是您的要求的示例代码。此代码基于python,selenium和crome exe文件。
from selenium import webdriver
from lxml.html import tostring,fromstring
import time
import csv
myfile = open('demo_detail.csv', 'wb')
wr = csv.writer(myfile, quoting=csv.QUOTE_ALL)
driver=webdriver.Chrome('./chromedriver.exe')
csv_heading=["","","BIB","NAME","CATEGORY","RANK","GENDER PLACE","CAT. PLACE","GUN TIME","SPLIT NAME","SPLIT DISTANCE","SPLIT TIME","PACE","DISTANCE","RACE TIME","OVERALL (/814)","GENDER (/431)","CATEGORY (/38)","TIME OF DAY"]
wr.writerow(csv_heading)
count=0
try:
url="https://www.sportstats.ca/display-results.xhtml?raceid=4886"
driver.get(url)
table_tr=driver.find_elements_by_xpath("//table[@class='results overview-result']/tbody/tr[@role='row']")
for tr in table_tr:
lst=[]
count=count+1
table_td=tr.find_elements_by_tag_name("td")
for td in table_td:
lst.append(td.text)
table_td[1].find_element_by_tag_name("div").click()
time.sleep(5)
table=driver.find_elements_by_xpath("//div[@class='ui-datatable ui-widget']")
for demo_tr in driver.find_elements_by_xpath("//tr[@class='ui-expanded-row-content ui-widget-content view-details']/td/div/div/table/tbody/tr"):
for demo_td in demo_tr.find_elements_by_tag_name("td"):
lst.append(demo_td.text)
wr.writerow(lst)
table_td[1].find_element_by_tag_name("div").click()
time.sleep(5)
print count
time.sleep(5)
driver.quit()
except Exception as e:
print e
driver.quit()
你试过了什么,结果是什么?正如你在学校所做的那样,请展示你的工作。 :)这是在SO上获得问题的过程中的一部分。这对你很有帮助,因为它会迫使你调查自己的问题并思考问题。这也向读者证明你做了功课,并做出了合理的尝试来回答你自己的问题。第三,它可以帮助读者找到和诊断问题,为您提供更好的答案,减少浪费时间。 – JeffC
尝试在Selenium中使用''$(“。ui-row-toggler.ui-icon.ui-icon-circle-triangle-e”)。click()''来获得所有''+''按钮的点击。然后,您可以像过去一样分析生成的页面。 – kxxoling