python通过selenium获取网页异步加载内容
2020-11-23 12:48:08
from selenium import webdriver
from selenium.webdriver.firefox.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait # available since 2.4.0
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys
import os
import time
fireFoxOptions = webdriver.FirefoxOptions()
browser = webdriver.Firefox(firefox_options=fireFoxOptions)
# browser = webdriver.Firefox()
ff_option = Options()
#ff_option.add_argument('-headless')
# 开始请求
browser.get('http://product.xxxx.com/1656492931.html')
try:
element = WebDriverWait(browser,10).until(EC.presence_of_element_located((By.ID, "coupon-des")))
finally:
aa = browser.find_element_by_css_selector("ul.clearfix")
elem = browser.find_element_by_xpath("//*")
source_code = elem.get_attribute("outerHTML")
js='''return $('ul.clearfix.key li:contains(国际标准书号ISBN:)').text()'''
#调用js
# driver.execute_async_script(js)
contents = browser.execute_script(js)
print(contents)
print('end')
通过直接的方式无法获取到元素,只能通过在browser中执行jquery来返回元素的值