【发布时间】:2016-12-01 13:18:02
【问题描述】:
我一直试图在 JAVA 中使用 javascript 和 selenium 替换表单的 action 属性,但我无法让它工作。
这是网站的 sn-p HTML:
</div>
<div class="contionue-shopping-wrapper">
<form class="co-formcontinueshopping" action="https://www.yahoo.com" method="post" id="dwfrm_cart_d0jilurhcxpm">
<fieldset>
<button class="rbk-button-red button-primary bp-black right" type="submit" value="Continue Shopping" name="dwfrm_cart_continueShopping">
<span>Continue Shopping</span>
</button>
</fieldset>
</form>
</div>
这是我在 JAVA 中所做的,试图改变上面的操作
String link = "https://www.google.com"
((JavascriptExecutor)atc).executeScript("document.getElementsByClassName('co-formcontinueshopping')[0].action="+link);
(注意:atc 是 Selenium chrome webdriver,站点在此阶段加载)
编辑:我想如果我将以下 javascript 转换为上面的它会起作用吗?
document.getElementById(document.querySelector("[id^='dwfrm_cart']").id).action = url})()
【问题讨论】:
-
记录
document.getElementsByClassName('co-formcontinueshopping')[0].action到控制台查看选择器是否工作,使用console.log(document.getElementsByClassName('co-formcontinueshopping')[0].action) -
请查看下面对您的答案的评论。谢谢
-
问题是您的 JavaScript 中没有
'。因此,您应该编写 String link = "'google.com'" 或通过JavascriptExecutor执行 JavaScript 中的'。
标签: javascript java html selenium