我在网站上有这样的一行:
<!--<td class="points">100.000</td>-->
我怎样才能接受&#34; 100.000&#34;并把它放在一个字符串? 我在c#中尝试过类似的东西:
string points = driver.FindElement(By.XPath("/html/body/div[2]/div[2]/table[1]/tbody/tr[2]/comment()")).Text;
但是当我尝试取这个数字并输入字符串时,我得到了这样的错误:
&#34; xpath表达式的结果 &#34; / HTML /体/格[2] / DIV [2] /表[1] / tbody的/ TR [2] /注释()&#34;是:[对象 评论]。它应该是一个元素。&#34;
有任何想法吗?
答案 0 :(得分:0)
不,您不能直接使用SELECT
SUM(CASE MONTH(str_to_date(sm.BillDate, '%d/%m/%Y')) WHEN 1 THEN sm.GrandTotal ELSE 0 END) AS 'January',
SUM(CASE MONTH(str_to_date(sm.BillDate, '%d/%m/%Y')) WHEN 2 THEN sm.GrandTotal ELSE 0 END) AS 'February',
SUM(CASE MONTH(str_to_date(sm.BillDate, '%d/%m/%Y')) WHEN 3 THEN sm.GrandTotal ELSE 0 END) AS 'March',
SUM(CASE MONTH(str_to_date(sm.BillDate, '%d/%m/%Y')) WHEN 4 THEN sm.GrandTotal ELSE 0 END) AS 'April',
SUM(CASE MONTH(str_to_date(sm.BillDate, '%d/%m/%Y')) WHEN 5 THEN sm.GrandTotal ELSE 0 END) AS 'May',
SUM(CASE MONTH(str_to_date(sm.BillDate, '%d/%m/%Y')) WHEN 6 THEN sm.GrandTotal ELSE 0 END) AS 'June',
SUM(CASE MONTH(str_to_date(sm.BillDate, '%d/%m/%Y')) WHEN 7 THEN sm.GrandTotal ELSE 0 END) AS 'July',
SUM(CASE MONTH(str_to_date(sm.BillDate, '%d/%m/%Y')) WHEN 8 THEN sm.GrandTotal ELSE 0 END) AS 'August',
SUM(CASE MONTH(str_to_date(sm.BillDate, '%d/%m/%Y')) WHEN 9 THEN sm.GrandTotal ELSE 0 END) AS 'September',
SUM(CASE MONTH(str_to_date(sm.BillDate, '%d/%m/%Y')) WHEN 10 THEN sm.GrandTotal ELSE 0 END) AS 'October',
SUM(CASE MONTH(str_to_date(sm.BillDate, '%d/%m/%Y')) WHEN 11 THEN sm.GrandTotal ELSE 0 END) AS 'November',
SUM(CASE MONTH(str_to_date(sm.BillDate, '%d/%m/%Y')) WHEN 12 THEN sm.GrandTotal ELSE 0 END) AS 'December'
FROM
sales_master sm
WHERE
YEAR(str_to_date(sm.BillDate, '%d/%m/%Y'))='2017'
GROUP BY
MONTH(str_to_date(sm.BillDate, '%d/%m/%Y'))
定位评论 - 它只适用于实际元素 - 而不是文本或评论节点。
你需要另一种方式。我们的想法是首先使用FindElement()
获取页面的完整源代码,或者使用driver.PageSource
或elm.GetAttribute("innerHTML")
elm.GetAttribute("outerHTML")
来获取包含注释节点的元素的内部或外部HTML在您的情况下,1}}可以定义为包含注释节点的行:
elm
然后,您有几个选项可以从HTML字符串中提取注释。我认为最好的是使用 HTML解析器,例如HTML Agility Pack: