就是点击某个按钮后会出现一个由 div 生成的弹出框(这个 div 标签在原本 html 中是没有的,点击后才在 body 下加载出来的一个新的),我想点击这个弹出框的 a 标签,但是使用 xpath、或者抓取所有的 iframe 标签来定位其中的 iframe 却提示找不到这个 iframe。
于是想调用 js 来执行,在浏览器控制台里面执行这个 js 是可以正常点击的,但是用 selenium+python 的时候调用 js 却提示 mde.item(...) is null;
代码如下

#点击此按钮后那个div弹出框便会出现
b.find_element_by_css_selector("div[class=\"col-md-4\"]").click()
time.sleep(3)

#调用js来操作弹出框的a标签
xuanzejs="mde=window.frames[1].document.querySelectorAll('a');mde.item(1).click();"
print xuanzejs
b.execute_script(xuanzejs)
time.sleep(3)

这个 python 调用 js 的时候和在浏览器的控制台输入执行 js 有什么不同呢


↙↙↙阅读原文可查看相关链接,并与作者交流