[英]Selenium webdriver xpath filtering
我的xpath语法有什么问题? 我试图过滤的节点是,我的代码是:
div class="cmeTableBlockWrapper cmeContentSection cmeContentGroup"
table id="quotesFuturesProductTable1"
tr[1:]
td id="quotesFuturesProductTable1_ZCZ4_last"
td id="quotesFuturesProductTable1_ZCZ4_change"
td id="quotesFuturesProductTable1_ZCZ4_priorSettle"
url = "http://www.cmegroup.com/trading/agricultural/grain-and-oilseed/corn.html"
driver = webdriver.Chrome()
driver.get(url)
table = driver.find_element_by_xpath('//div[class="cmeTableBlockerWrapper cmeContentSection cmeContentGroup"]/table[@id="quotesFuturesProductTable1"]')
# or table = driver.find_element_by_xpath('//td[contains(div[@class="fixedpage_heading"], "CORN")]/table[@class="homepage_quoteboard"]')
for row in table.find_elements_by_tag_name('tr')[1:]:
priorsettle = str(row.find_element_by_id('quotesFuturesProductTable1_ZSX4_priorSettle').text)
按id
查找表,按索引获取适当的行(此处最简单的方法):
table = driver.find_element_by_id('quotesFuturesProductTable1')
for row in table.find_elements_by_tag_name('tr')[2:]:
print row.find_elements_by_tag_name('td')[4].text
印刷品( Prior Settle
专栏):
338'2
350'6
359'2
366'2
374'0
384'2
393'6
400'4
404'4
402'0
402'0
418'2
407'4
请注意,由于实际表内容开始之前有两个tr
标记,因此我们需要跳过2行,而不是单个行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.