【发布时间】:2020-10-18 16:13:37
【问题描述】:
问题:无法找到/单击/send.keys 到特定网页上的任何元素。
WebDriver Chrome
我可以与该网页进行交互,直到我单击某个链接,在该链接中打开了一个新选项卡,并且在该页面上我无法执行任何操作。
经过广泛的研究,到目前为止我所做的尝试:
1- 由于打开了一个新选项卡,我使用 driver.switch_to.window “强制”代码查看新选项卡,并确保我已打印当前页面标题这是正确的。
2- 为了等待页面加载,我尝试了隐式/显式等待(甚至 time.sleep)。
3- 研究将我指向 iframe.. 我没有任何 iframe,但我搜索了帧数 (2) 并在两者之间切换并尝试使用 xpath(完整 xpath)查找元素,但没有被找到了。
4- 最大化窗口。
所以我尝试了书中的“一切”。检查我需要交互的元素,我发现每个元素都指向一个带有一些参数的 JS。
href="JavaScript:SWESubmitForm(document.SWEForm2_0,s_10,"s_2_1_96_0","VRId-0")" tabindex="2997" id="s_2_1_96_0">跟踪错误
进一步发现,s_10 是脚本中的一个变量,从 s_0 到 s_14 有不同的选项。
var s_0 = {action:"/esales_enu/start.swe",target:"_sweview",SWECmd:"GotoView",SWEMethod:"GotoView",SWEView:"L2C Track Channel Reference View BT",SWEApplet:"L2C New CZ主页小程序 BT",SWEReqRowId:"0",SWESP:"false",SWENeedContext:"true",SWEKeepContext:"0",SWEDIC:"false"}; var s_10 = {action:"/esales_enu/start.swe",target:"_sweview",SWECmd:"GotoView",SWEMethod:"GotoView",SWEView:"New Portal Fault Search View ORH BT",SWEApplet:"L2C New CZ 主页小程序 BT",SWEReqRowId:"0",SWESP:"false",SWENeedContext:"true",SWEKeepContext:"0",SWEDIC:"false"};所以我开始搜索并找到 driver.execute_script() 并且我写道:
driver.execute_script("SWESubmitForm(document.SWEForm2_0,s_10,'s_2_1_96_0','VRId-0')")
但是会发生这种情况:
selenium.common.exceptions.JavascriptException:消息:javascript 错误:未定义 SWESubmitForm
我在这里缺少什么?句法?如果有人能说明我应该往哪个方向走,那将不胜感激。
谢谢。
【问题讨论】:
标签: javascript python-3.x selenium selenium-webdriver