如何单击元素()并在同一选项卡中打开链接,而不是在新窗口中?

时间:2015-04-28 01:22:09

标签: r selenium web-scraping rselenium

我的网页上有以下html元素:

<a target="PARENT" href="/bin-din/WebOb/mom.ko/6/wo/asaksdaksjd
/5.1.5.5.33.23.23">View Data Set</a>

我在Rselenium中使用以下命令来查找该标记:

webElem<-remDr$findElement(using = 'xpath',"/html/body/div/table/tbody/tr/td/table[2]
/tbody/tr/tbody/tr/td/font/a[1]")

然后我使用以下命令点击链接:

webElem$clickElement()

现在链接在新页面中打开,可能是因为html标记包含 目标=“父”。如何在我在remDr中的相同选项卡中打开该链接?有什么建议?感谢

1 个答案:

答案 0 :(得分:3)

首先,您需要通过在网络元素中注入javascript来清除目标属性。

然后你可以点击它,它将在同一个标​​签中打开链接。代码看起来像

webElem<-remDr$findElement(using = 'xpath',"/html/body/div/table/tbody/tr/td/table[2]/tbody/tr/tbody/tr/td/font/a[1]")
remDr$executeScript("arguments[0].setAttribute('target', arguments[1]);", list(webElem, ""));
webElem$clickElement()