Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在R中使用rselenium和rvest单击锚定标记链接?_R_Selenium_Selenium Webdriver_Web Scraping_Rvest - Fatal编程技术网

如何在R中使用rselenium和rvest单击锚定标记链接?

如何在R中使用rselenium和rvest单击锚定标记链接?,r,selenium,selenium-webdriver,web-scraping,rvest,R,Selenium,Selenium Webdriver,Web Scraping,Rvest,我一直在用rselenium和rvest软件包在R中练习web抓取。因此,登录许多网站时,都会有一个登录按钮,单击该按钮会打开一个弹出窗口,询问用户id和密码。我一直在尝试以下代码来单击存在登录链接的锚定标记,但没有一个成功 这是锚定标记的html(示例) 三, 四, 大多数情况下,我会在这行中遇到错误,比如意外的符号 怎么办?弹出窗口打开后如何发送我的用户id和密码?提前感谢。更新 如果您希望单击“登录”按钮而不是直接导航到其网址,您可以按如下方式执行整个过程: page<-"https

我一直在用rselenium和rvest软件包在R中练习web抓取。因此,登录许多网站时,都会有一个登录按钮,单击该按钮会打开一个弹出窗口,询问用户id和密码。我一直在尝试以下代码来单击存在登录链接的锚定标记,但没有一个成功

这是锚定标记的html(示例)

三,

四,

大多数情况下,我会在这行中遇到错误,比如意外的符号


怎么办?弹出窗口打开后如何发送我的用户id和密码?提前感谢。

更新

如果您希望单击“登录”按钮而不是直接导航到其网址,您可以按如下方式执行整个过程:

page<-"https://www.glassdoor.co.in"
remDr$navigate(page)
accept_cokies_btn <- remDr$findElement(using = "xpath", '//*[@id="onetrust-accept-btn-handler"]')
accept_cokies_btn$clickElement()
signin <- remDr$findElement(using = "xpath", '//*[@id="TopNav"]/nav/div/div/div[4]/div[1]/a')
signin$clickElement()

page你能提供网址让我帮你吗?您尝试浏览和登录的网站是哪一个?请根据下面的答案告诉我它是如何运行的。这对我很有用。嘿,耶,你的代码正在把我的用户id和密码发送到页面上的注册表单上。登录按钮位于顶部,对于已经注册的用户,需要单击该按钮才能登录。既然您可以使用其地址导航到该按钮,为什么您需要单击该按钮?我正在发布一个备选方案,以防您希望单击而不是导航。感谢您的帮助。我特别要求点击按钮,因为它可以帮助我浏览其他网站。代码运行得很好。很高兴他通常会帮助你,实际上我怀疑你的大部分注意力都集中在如何点击按钮上。但它起作用了吗?因为我刚刚意识到它实际上并没有将用户名和密码信息提交到锚页面,而是提交到上一个页面。如果你需要一个具体的解决办法,我只是更新了我的答案中的代码来解决这个问题。
user<-remDr$findElement(using = 'href',"/profile/login_input.htm?userOriginHook=HEADER_SIGNIN_LINK")
user$sendKeysToElement(list("",key="enter"))
driver.findElement(By.xpath("//a[text()='Sign In']")).click()
driver.findElement(By.linkText("Sign In")).click()
remDr$findElement(xpath="//a[contains(text(),'Sign In')]")).click()
page<-"https://www.glassdoor.co.in"
remDr$navigate(page)
accept_cokies_btn <- remDr$findElement(using = "xpath", '//*[@id="onetrust-accept-btn-handler"]')
accept_cokies_btn$clickElement()
signin <- remDr$findElement(using = "xpath", '//*[@id="TopNav"]/nav/div/div/div[4]/div[1]/a')
signin$clickElement()
username_btn <- remDr$findElement(using ="name" , "username")
username_btn$sendKeysToElement(list("add username here"))
pass_btn <- remDr$findElement(using = "name", "password")
pass_btn$sendKeysToElement(list("add password here", "\uE007"))