你需要补充
return
给你的
execute_script
调用以访问脚本中的值,例如。
driver.execute_script("return AmCharts.charts[0].dataProvider")
完整代码如下:
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
driver_path = r"path/to/chromedriver"
driver = webdriver.Chrome(driver_path)
driver.maximize_window()
wait = WebDriverWait(driver, 30)
driver.get("https://eg.pricena.com/en/product/oppo-reno-5g-price-in-egypt")
# scroll into the div so that the chart will render
driver.execute_script("document.getElementById('product_pricechart').scrollIntoView()")
# wait until the chart div has been rendered before accessing the data provider
wait.until(lambda x: x.find_element_by_class_name("amcharts-chart-div").is_displayed())
# display chart data
print(driver.execute_script("return AmCharts.charts[0].dataProvider"))
driver.close()