2016-11-25 22 views
0

私はSeleniumを初めて使用しています。エラーが発生しました。VB.NETを使用したSelenium - 要素が見つかりません

ウェブサイト(コードに見られる)から特定のファイルをダウンロードしようとしていますが、ダウンロードリンクが利用できるウェブサイトの最後のセクションに移動したときに、リスト'。私はXPath CSSセレクタなどで試しました。

あなたの技術に精通している人の誰かが親切に修正/推奨を提案できますか?

助けがあれば助かります。

が、これはリンクテキストではなく、ダウンロードリンクのXPATHを検索することによって解決された、 ジハン

Sub downloadDBX() 
    'Initalise Chrome Browser For Execution 
    Dim driver As IWebDriver 
    driver = New ChromeDriver("C:\Users\cihan\Documents\Selenium") 

    'Navigate to the DBx Website 
    driver.Navigate().GoToUrl("https://etf.deutscheam.com/GBR/ENG/Disclaimer/Institutional") 

    'Get ElementID to navigate DBX Website 
    Dim agreeTerms As IWebElement = driver.FindElement(By.XPath("//*[@id='form']/div[3]/div[2]/div[2]/div/div/div[1]/div/div/div/div[2]/div[3]/div[2]/div/div[2]/div[1]/a")) 
    System.Threading.Thread.Sleep(1000) 
    agreeTerms.Click() 

    'Navigate to the equities section of DBx 
    Dim equitiesPage As IWebElement = driver.FindElement(By.XPath("//*[@id='form']/div[3]/div[2]/div[3]/span[1]/div/div/div[2]/div[3]/div/div[2]/div/ul/li[2]/a")) 
    System.Threading.Thread.Sleep(1000) 
    equitiesPage.Click() 

    'click relevant fund 
    Dim myFundInformation As IWebElement = driver.FindElement(By.PartialLinkText("ATX UCITS ETF (DR)")) 
    System.Threading.Thread.Sleep(1000) 
    myFundInformation.Click() 

    'change to "ETF Information tab" to gather required data 
    Dim myFundHoldings As IWebElement = driver.FindElement(By.XPath("//*[@id='ctl02_ctl15_ctl00_ctl01_126']/span")) 
    System.Threading.Thread.Sleep(1000) 
    myFundHoldings.Click() 


    'download my holdings 
    Dim myData As IWebElement = driver.FindElement(By.XPath("//*[@id='ctl02_ctl15_ctl00_container']div[2]/div[3]/div/div[4]/div[2]/div/a/div[2]/span")) 
    System.Threading.Thread.Sleep(1000) 
    myData.Click() 
End Sub 

答えて

0

、ありがとうございました。前と次のように後:今

'download my holdings 
Dim myData As IWebElement = driver.FindElement(By.XPath("//*[@id='ctl02_ctl15_ctl00_container']div[2]/div[3]/div/div[4]/div[2]/div/a/div[2]/span")) 
System.Threading.Thread.Sleep(1000) 
myData.Click() 

'download my holdings 
    Dim myData As IWebElement = driver.FindElement(By.LinkText("Download Full Securities List")) 
    System.Threading.Thread.Sleep(1000) 
    myData.Click() 
関連する問題