【问题标题】:How to get Javascript ajax response in Python Selenium?如何在 Python Selenium 中获取 Javascript ajax 响应?
【发布时间】:2021-01-24 07:56:14
【问题描述】:

我正在尝试使用此方法获得 Ajax 响应,但它返回 null

在发布答案之前确保您的解决方案有效。

from selenium import webdriver
    
driver = webdriver.Chrome()

driver.get("example.com")

result = driver.execute_synce_script("""
    function x()
    {
        var data = null 
        $.post('example.com/wp-admin/admin-ajax.php',{action:"load_links")
        .done(function( response ) 
        {
            data = response
        })

        return data
    }

    return x()
""")

print(result)

【问题讨论】:

  • 我不是 Ajax/Selenium 专家,但在谷歌上搜索它说这是一个异步方法,所以调用的结果将在稍后执行完成时可用。您可能必须听一个事件处理程序或类似的东西。

标签: javascript python ajax selenium


【解决方案1】:

试试这个:

from bs4 import BeautifulSoup
from selenium import webdriver

url = "<url>"
browser = webdriver.Chrome()
browser.get(url)
html = browser.page_source
soup = BeautifulSoup(html, 'lxml')
a = soup.find('section', 'wrapper')

【讨论】:

    猜你喜欢
    • 2014-12-16
    • 2015-06-13
    • 2011-03-30
    • 2016-01-25
    • 1970-01-01
    • 2014-12-13
    • 2012-10-02
    • 2021-02-09
    相关资源
    最近更新 更多