I am in no way a programmer. I have succeeded in using Selenium ChomeDrvier to control an existing instance of Chrome using the codes below in Excel VBA.
Option Explicit
Public Mychrome As Selenium.ChromeDriver
Public DebuggerPort As String
Sub getportnum()
Dim Dict_Capib As Variant
Set Mychrome = New Selenium.ChromeDriver
Mychrome.Get "https://bet.hkjc.com/racing/pages/odds_wpq.aspx?lang=ch"
Dict_Capib = Mychrome.Manage.Capabilities.Values
DebuggerPort = Mychrome.Manage.Capabilities("goog:chromeOptions").Item("debuggerAddress")
End Sub
I use the Macro below to input data to the web page and it works fine.
Sub copyodd()
'
DebuggerPort = Mychrome.Manage.Capabilities("goog:chromeOptions").Item("debuggerAddress")
Mychrome.SetCapability "debuggerAddress", "localhost:" & DebuggerPort
Mychrome.FindElementById("qb_QIN_2_3").Click
Mychrome.FindElementById("inputAmount0").ClickDouble
Mychrome.FindElementById("inputAmount0").Sendkeys "10"
End Sub
However, when I try to run the same 3 lines in red above from a text file using the codes below, it does not work. Can someone help?
Sub copyodd()
DebuggerPort = Mychrome.Manage.Capabilities("goog:chromeOptions").Item("debuggerAddress")
Mychrome.SetCapability "debuggerAddress", "localhost:" & DebuggerPort
RunCodeFromFile
End Sub
Sub RunCodeFromFile()
Dim FilePath As String
Dim FileContent As String
Dim CodeLines() As String
Dim i As Long
Dim LineContent As String ' Declare LineContent variable
' Specify the path to the text file
FilePath = "C:\Horse\buyhorse.txt"
' Check if the file exists
If Not Dir(FilePath) = "" Then
' Read the content of the text file
Open FilePath For Input As #1
Do Until EOF(1)
Line Input #1, LineContent
FileContent = FileContent & LineContent & vbCrLf
Loop
Close #1
' Split the content into lines
CodeLines = Split(FileContent, vbCrLf)
' Execute each line of code
For i = LBound(CodeLines) To UBound(CodeLines)
On Error Resume Next
Application.Run CodeLines(i)
On Error GoTo 0
Next i
Else
MsgBox "The file does not exist: " & FilePath
End If
End Sub
Option Explicit
Public Mychrome As Selenium.ChromeDriver
Public DebuggerPort As String
Sub getportnum()
Dim Dict_Capib As Variant
Set Mychrome = New Selenium.ChromeDriver
Mychrome.Get "https://bet.hkjc.com/racing/pages/odds_wpq.aspx?lang=ch"
Dict_Capib = Mychrome.Manage.Capabilities.Values
DebuggerPort = Mychrome.Manage.Capabilities("goog:chromeOptions").Item("debuggerAddress")
End Sub
I use the Macro below to input data to the web page and it works fine.
Sub copyodd()
'
DebuggerPort = Mychrome.Manage.Capabilities("goog:chromeOptions").Item("debuggerAddress")
Mychrome.SetCapability "debuggerAddress", "localhost:" & DebuggerPort
Mychrome.FindElementById("qb_QIN_2_3").Click
Mychrome.FindElementById("inputAmount0").ClickDouble
Mychrome.FindElementById("inputAmount0").Sendkeys "10"
End Sub
However, when I try to run the same 3 lines in red above from a text file using the codes below, it does not work. Can someone help?
Sub copyodd()
DebuggerPort = Mychrome.Manage.Capabilities("goog:chromeOptions").Item("debuggerAddress")
Mychrome.SetCapability "debuggerAddress", "localhost:" & DebuggerPort
RunCodeFromFile
End Sub
Sub RunCodeFromFile()
Dim FilePath As String
Dim FileContent As String
Dim CodeLines() As String
Dim i As Long
Dim LineContent As String ' Declare LineContent variable
' Specify the path to the text file
FilePath = "C:\Horse\buyhorse.txt"
' Check if the file exists
If Not Dir(FilePath) = "" Then
' Read the content of the text file
Open FilePath For Input As #1
Do Until EOF(1)
Line Input #1, LineContent
FileContent = FileContent & LineContent & vbCrLf
Loop
Close #1
' Split the content into lines
CodeLines = Split(FileContent, vbCrLf)
' Execute each line of code
For i = LBound(CodeLines) To UBound(CodeLines)
On Error Resume Next
Application.Run CodeLines(i)
On Error GoTo 0
Next i
Else
MsgBox "The file does not exist: " & FilePath
End If
End Sub