问题:在做网页获取数据时发现input标签中的数据是通过JS动态传输过来的,不在网页源码中不能使用xpath进行数据获取。
解决:通过执行JS脚本功能获取数据
from selenium import webdriver
def execute_js(chrome_browser: webdriver, js_str: str):
"""
Execute the js.
:param chrome_browser:
:param js_str:
:return:
"""
return chrome_browser.execute_script(js_str)
知识点1:selenium中webdriver对象可以直接使用execute_script(js_str)来执行JS脚本【上面代码可以不用,直接调用execute_script】
知识点2:代码中JS脚本如果想要获得返回值需要加一个 return
contract["变更后金额"] = execute_js(chrome_browser, "return document.getElementsByName('afterMoney')[0].value")



