セレンを使用したWebページからテーブルデータを削り取ろうとしました。しかし、それはそのページからすべてのテーブルを解析しますが、私は単一のテーブルが必要です。私はどのように私は単一のテーブルを選択することができますかについてのアイデアを見つけることができません。これは私が試したものです:セレンを使用して単一のテーブルを選択する際に問題が発生する
Sub table_data()
Dim driver As New WebDriver
Dim tabl As Object, rdata As Object, cdata As Object
Set driver = New WebDriver
driver.Start "Phantomjs", "https://fantasy.premierleague.com"
driver.get "/player-list/"
For Each tabl In driver.FindElementsByXPath("//table[@class='ism-table']")
For Each rdata In tabl.FindElementsByXPath(".//tr")
For Each cdata In rdata.FindElementsByXPath(".//td")
y = y + 1
Cells(x, y) = cdata.Text
Next cdata
x = x + 1
y = 0
Next rdata
Next tabl
End Sub
私はXHRでやった!最初のテーブルの行が何になると
Sub TableData()
Dim xmlpage As New XMLHTTP60
Dim htmldoc As New MSHTML.HTMLDocument
Dim htmlas As Object, tRow As Object, tCel As Object
x = 1
With xmlpage
.Open "GET", "https://fantasy.premierleague.com/player-list/", False
.send
htmldoc.body.innerHTML = .responseText
End With
Set htmlas = htmldoc.getElementsByTagName("table")(2)
For Each tRow In htmlas.Rows
For Each tCel In tRow.Cells
c = c + 1
Cells(x, c) = tCel.innerText
Next tCel
c = 0
x = x + 1
Next tRow
End Sub
あなたはどのテーブルが必要なのでしょうか?あなたはインデックスでそれを得ることができませんか? – PRAISER
あなたの答えはPRAISERありがとうございます。そこには8つのテーブルがあります。誰でもやります。インデックス作成の場合、私はその番号を自分のコードにどこに入れるべきなのか分かりません。 – SIM