代码之家  ›  专栏  ›  技术社区  ›  ulima2_

为r-selenium查找正确的CSS标记

  •  0
  • ulima2_  · 技术社区  · 6 年前

    我用过 this 要了解的教程 RSelenium . 它对我很有效。

    library(RSelenium) 
    driver <- rsDriver(browser = "chrome") # start browser
    remDr <- driver[["client"]] 
    
    # Go to desired webpage
    remDr$navigate("https://github.com/login")
    
    login_id <- remDr$findElement(using = "css",  "login_field")
    login_id $sendKeysToElement(list("my_login_name"))
    

    如果我使用选择器小工具,它会告诉我email/username框的标签是 #login_field .

    如果我 inspect

    <input type="text" name="login" id="login_field" class="form-control input-block" tabindex="1" autocapitalize="off" autocorrect="off" autofocus="autofocus">
    

    但如果我运行上述代码,会得到以下错误消息:

    Selenium message:no such element: Unable to locate element: {"method":"css selector","selector":"login_field"}
      (Session info: chrome=69.0.3497.100)
      (Driver info: chromedriver=70.0.3538.16 (16ed95b41bb05e565b11fb66ac33c660b721f778),platform=Windows NT 10.0.14393 x86_64)
    
    Error:   Summary: NoSuchElement
         Detail: An element could not be located on the page using the given search parameters.
         Further Details: run errorDetails method
    

    我将感谢您的帮助,如何正确地选择CSS标签进入。谢谢!

    2 回复  |  直到 6 年前
        1
  •  1
  •   kabr hrbrmstr    6 年前

    除了法律上的东西,它可能与 remDr$findElement(using = "id", value = "login_field") . 所以呢 using = "id" 而不是 using = "css"

        2
  •  0
  •   undetected Selenium    6 年前

    发送 字符序列 用户名或电子邮件地址 https://github.com/login 你需要诱导 CSS_SELECTOR

    input.form-control.input-block#login_field
    

    A

    driver.get("https://github.com/login")
    WebDriverWait(driver, 5).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input.form-control.input-block#login_field"))).send_keys('ulima2_')
    

    Github_Login