问题:当我从我的域重定向到sandbox.paypal.com时,我无法使用XPATH选择器选择输入字段。发现未找到元素的错误会被抛出。我也尝试过使用js选择器,但是我收到以下错误:无法设置null的属性'value'。
我尝试过手动访问页面并应用xpath,它运行得非常好。有什么想法吗?
这是有问题的Xpath脚本:
'//input[@name="login_email"]';
这里的JS脚本也失败了:
return document.querySelector('login_emaildiv input';
我注意到表单被注入DOM。有人知道解决方法吗?
我和chromedriver以及firefox一起试过这个。
答案 0 :(得分:1)
您可以尝试使用如下所示的JavaScriptExecutor
if (driver instanceof JavascriptExecutor) {
((JavascriptExecutor) driver).executeScript("document.getElementsByName('login_email')[0].value='Enter your Value';");
}
答案 1 :(得分:0)
问题在于iFrames。由于内容被注入iFrame,因此代码需要切换上下文。这是解决方案:
frame[i].document.getElementById("yourElementId")
),抓住名字
框架在代码中切换上下文,如下所示:
$this->I->switchToIFrame('frameName');