У меня есть проблема, которая смутила меня! Я хочу удалить значение с веб-страницы. я нашел xpath с chrome и инспектором "//*[@id='GlobalTab0Elm']/div[2]/div[1]/div[2]/table/tbody/tr[7]/td[2]/div"
, когда я использую выше xpath в webscraper в chrome (расширение), он работает нормально. но проблема в том, что это не работа на моей простой программе, которую вы можете увидеть так:
Dim Handler As HtmlAgilityPack.HtmlWeb.PreRequestHandler = Function(request As HttpWebRequest)
request.Headers(HttpRequestHeader.AcceptEncoding) = "gzip, deflate"
request.AutomaticDecompression = DecompressionMethods.Deflate Or DecompressionMethods.GZip
request.CookieContainer = New System.Net.CookieContainer()
Return True
End Function
Dim webClient As HtmlWeb = New HtmlWeb()
webClient.PreRequest = Handler
webClient.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5"
webClient.UseCookies = True
Dim htmlDoc = webClient.Load("http://www.tsetmc.com/Loader.aspx?ParTree=15")
htmlDoc.OptionReadEncoding = False
Dim S As String
S = "//*[@id='GlobalTab0Elm']/div[2]/div[1]/div[2]/table/tbody/tr[7]/td[2]/div"
Dim node = htmlDoc.DocumentNode.SelectSingleNode(S)
TextBox1.Text = (node.InnerText)
Мой вопрос - почему этот xpath работает на другом скребке, но он не работает с этим кодом? что я должен сделать ? Ошибка в этой строке:
TextBox1.Text = (node.InnerText)
и текст ошибки
Object reference not set to an instance of an object.
, когда я использую этот xpath
"//*[@id='company_text']/text()[2]"
, он нашел правильное значение XPath.
Моя проблема в том, что он не работает с этим xpath.
"//*[@id='GlobalTab0Elm']/div[2]/div[1]/div[2]/table/tbody/tr[7]/td[2]/div"