gpt4 book ai didi

python - 点击后如何从 Selenium 返回 DOM

转载 作者:行者123 更新时间:2023-12-01 05:42:52 24 4
gpt4 key购买 nike

我想使用 Selenium 在单击链接后获取页面的 HTML。通常,我只会下载我想要点击的链接,但在这种情况下,当点击链接时,它会触发一些混淆的 Javascript,将数据加载回当前页面的 DOM 中。真是太恶心了。

所以,这就是我期望的工作。这会加载页面,找到并单击我需要的链接,然后使用 JavaScript 中的 outerHTML 将 DOM 作为文本返回:

from selenium import webdriver

def get_html_after_click(i):
'''Loads a page, then clicks an element, and returns the HTML'''
browser = webdriver.Firefox()
browser.get('http://www.sdjudicial.com/sc/scopinions.aspx')
elem = browser.find_elements_by_class_name('igeb_ItemLabel')[i]
elem.click()

js = '''html = document.getElementsByTagName('html')[0];
return html.outerHTML;'''
html = browser.execute_script(js)

browser.quit()

return html

除非每当我运行此命令时,我返回的 HTML 与我执行 browser.page_source 时相同 - 即使我已单击链接并使用 JavaScript 获取 DOM。

我是 Selenium 新手。我缺少什么?

最佳答案

你可能做得很快。单击该元素后,等待由于单击而显示的预期元素,然后执行浏览器.page_source或者执行你的java脚本

关于python - 点击后如何从 Selenium 返回 DOM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17073775/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com