Identification de balises HTML avec RSelennium
Bonjour je ne savais pas trop où poster mon problème: dans la partie Web ou dans la partie R, je pense qu'il relève plus d'une expertise d'un développeur Web, mais vue que je code en R... :weird:
J'utilise un package R, RSelenium pour faire du Webscraping sur le site https://unicancer.sigaps.fr/. En gros je veux récupérer les points sigaps d'une ou plusieurs personnes sur une période donnée de manière automatique, en faire un data.frame que je pourrais exploiter, le tout sur une application shiny.
Pour faire simple j'arrive à me débrouiller avec le package, j'ai suivi des tutos ect... et je peux interagir avec différents sites avec mes bouts de codes.
Problème : lorsque j'essaie de trouver mes balises html d'identifiant et de mot de passe pour y envoyer des valeurs sur le site qui m'intéresse (sigaps), impossible.
Code:
1 2 3
|
remDr$findElement(using = "xpath", value = "/html/body/div[1]/div/div[2]/form/table/tbody/tr[2]/td[2]/input")$sendKeysToElement(list(username))
remDr$findElement(using = "name", value = "mdp")$sendKeysToElement(list(password)) |
et je me tape cette erreur qui ne m'arrive que sur CE site: :ptdr:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
Selenium message:no such element: Unable to locate element: {"method":"xpath","selector":"/html/body/div[1]/div/div[2]/form/table/tbody/tr[2]/td[2]/input"}
(Session info: chrome=96.0.4664.45)
For documentation on this error, please visit: https://www.seleniumhq.org/exceptions/no_such_element.html
Build info: version: '4.0.0-alpha-2', revision: 'f148142cf8', time: '2019-07-01T21:30:10'
System info: host: 'PD06B6F', ip: '10.208.107.111', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_261'
Driver info: driver.version: unknown
Error: Summary: NoSuchElement
Detail: An element could not be located on the page using the given search parameters.
class: org.openqa.selenium.NoSuchElementException
Further Details: run errorDetails method |
J'ai cherché longuement pour voir si quelqu'un avait déjà eu un problème équivalent avec un autre site (bon chemin mais quand même une erreur qui indique que l'élément n'existe pas) mais en vain.
Ce problème provient du site lui-même et ce qui est m'embête (pour ne pas dire autre chose) c'est que je ne sais pas comment récupérer toute ma page en html via R pour avoir une idée de ce que contient le site lorsque j'y accède via R. Je m'explique, je fais l'hypothèse que si je peux interagir avec un site, c'est que mes lignes de codes fonctionnent. Donc si je ne trouve pas d'éléments sur le site sigaps c'est qu'ils n'y sont pas, mais lorsque j'inspecte les éléments je les trouve :
Code:
1 2
|
<input name="login" class="text_box" type="text"> |
Donc le problème se situe entre RSelenium qui n'arrive pas à lire la page et j'aimerai bien accéder à ce qui est lut : récupérer le contenu de la page avec un findElement() ou un truc du genre. Mais je ne sais pas comment faire et je n'ai pas trouvé comment faire.
Voici mon code en entier :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
rD <- rsDriver(browser= "chrome", port = 3955L,chromever = "96.0.4664.45")
remDr <- rD[["client"]]
remDr$navigate("https://unicancer.sigaps.fr/")
remDr$screenshot(TRUE)
username <- "xyz"
password <- "lol93"
remDr$findElement(using = "xpath", value = "/html/body/div[1]/div/div[2]/form/table/tbody/tr[2]/td[2]/input")$sendKeysToElement(list(username))
remDr$findElement(using = "name", value = "mdp")$sendKeysToElement(list(password))
rD$server$stop()
remDr$close()
system("taskkill /im java.exe /f", intern=FALSE, ignore.stdout=FALSE) |
Voilà, voilà, merci d'avance
Cordialment
Bouftonmouth