繁体   English   中英

Selenium Webdriver XPath过滤

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM