RSelenium弹出窗口

时间:2018-02-28 14:49:00

标签: r selenium xpath selenium-webdriver rselenium

我正在尝试在HTML页面中打开一个弹出式链接:

<a class="popup-link" href="/PPI/displayRemarks.do?itemId=100582281" title="Add Remarks for the item" onclick="return false" id="anch_12">Add remarks</a>

我尝试使用ID来查找元素:

remDr$findElement(using = 'id', "anch_12")

我收到此错误:

Selenium message:{"errorMessage":"Unable to find element with id 'anch_12'","request":{"headers":{"Accept":"application/json, text/xml, application/xml, /","Accept-Encoding":"gzip, deflate","Content-Length":"32","Content-Type":"application/json","Host":"localhost:4567","User-Agent":"libcurl/7.56.0 r-curl/3.0 httr/1.3.1"},"httpVersion":"1.1","method":"POST","post":"{\"using\":\"id\",\"value\":\"anch_12\"}","url":"/element","urlParsed":{"anchor":"","query":"","file":"element","directory":"/","path":"/element","relative":"/element","port":"","host":"","password":"","user":"","userInfo":"","authority":"","protocol":"","source":"/element","queryKey":{},"chunks":["element"]},"urlOriginal":"/session/c6eac2b0-1bfd-11e8-8fbd-fbf94221e6d1/element"}}

错误摘要:

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

1 个答案:

答案 0 :(得分:0)

id anch_12 以及带有 itemId = 100582281 的值的href属性看起来是动态的。因此,您必须构建动态xpath,如下所示:

remDr$findElement(using = 'xpath', "//a[@class='popup-link' and contains(@href,'/PPI/displayRemarks.do?itemId=') and starts-with(@id,'anch_')]")
//or
remDr$findElement(using = 'xpath', "//a[@class='popup-link' and contains(@title,'Add Remarks for the item') and starts-with(@id,'anch_')]")