试图找到一个元素返回“代理?”

时间:2018-04-20 22:21:19

标签: javascript java selenium proxy

我一直在java中使用selenium来尝试.sendKeys到一个元素,但是当我尝试.sendKeys到这个元素时它总是崩溃并给我错误

Exception in thread "main" org.openqa.selenium.WebDriverException: unknown error: Failed to execute 'contains' on 'Node': parameter 1 is not of type 'Node'.

所以,我尝试使用javascript检查元素,并确保其有效,并返回“Proxy”。这是什么?

我打字

document.getElementById('order_billing_name')

而不是通过我指定的id返回元素,我得到了

Proxy {stepUp: ƒ, stepDown: ƒ, checkValidity: ƒ, reportValidity: ƒ, 
setCustomValidity: ƒ, …}
[[Handler]]:
Object
[[Target]]:
input#order_billing_name.string.required
[[IsRevoked]]:
false

而不是我期待的,这是

<input first_and_last="true" placeholder="name" class="string required" type="text" name="order[billing_name]" id="order_billing_name">

我尝试使用cssSelector,xpath,name定位它,没有任何效果,并返回这个奇怪的代理对象。我该怎么办?

1 个答案:

答案 0 :(得分:0)

有相同的问题。至尊正在这样做很棘手。我认为他们正在使用代理对象来针对表单进行功能以进行机器人检测。奇怪的是,我可以使用jQuery访问元素并写入输入,但是在硒内部,它抛出一个错误,提示您不是节点。