一.常使用 execute_script() 方法执行 JavaScript 的来解决页面上一些 selenium 无法操作的元素,但是一直无法获取执行的返回值。
二.演示案例
1.以打开https://www.cnblogs.com/yoyoketang/网页为示例,使用 JavaScript 来定位元素。
2.可以在浏览器 Console 执行 JavaScript 获取到元素的文本属性值。
document.getElementById("blog_nav_sitehome").innerText;
3.在 JavaScript 脚本前面加 return 获取返回值。
jquery 使用JavaScript 方法同样适用于 jquery 定位元素和操作元素。
from selenium import webdriver
driver = webdriver.Chrome()
driver.maximize_window()
driver.get("https://www.cnblogs.com/yoyoketang/")
# 第一种:如果想拿到javaScript执行的返回值,需要在js脚本前加上return
#js_blog = 'return document.getElementById("blog_nav_sitehome").innerText;'
# 第二种:jquery也适用
js_blog = "return $('#blog_nav_sitehome')[0];"
blog = driver.execute_script(js_blog)
print(blog)



