简体   繁体   English

Selenium:javascript操作是否反映在driver.page_source中?

[英]Selenium: do javascript actions reflect in driver.page_source?

If I click on a button that executes some javascript that updates the page (eg adds some html somewhere), will this be reflected in driver.page_source? 如果我单击执行一些JavaScript来更新页面的按钮(例如,在某处添加一些html),这是否会反映在driver.page_source中?

I tried it (clicked on a button that executed some js), waited 10 seconds, and then took a look at driver.page_source and changes do not seem to show up there. 我尝试了一下(单击执行了js的按钮),等待了10秒钟,然后看了一下driver.page_source,那里似乎没有变化。 How can I find out what html was created by that js? 我如何找出该js创建了哪些html?

No, driver.page_source only gives static html code. 不,driver.page_source仅提供静态html代码。 If you want html created by js, you may use 如果要由js创建html,则可以使用

driver.execute_script()

It runs js script and returns the result. 它运行js脚本并返回结果。 Here is an example: 这是一个例子:

element = driver.find_element_by_xpath("//div[@class='WB_feed_type SW_fun S_line2']") #which is created by js
wbHTML = driver.execute_script("return arguments[0].innerHTML;", element)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何使用 selenium 和 nodejs 获取整个页面源代码? driver.page_source 返回 undefined - How to get entire page source using selenium and nodejs? driver.page_source is returning undefined Selenium驱动程序无法反映click()之后的页面更改 - Selenium driver does not reflect page changes after click() 使用 Perl Selenium::Remote::Driver for Javascript 稍后加载页面 - Using Perl Selenium::Remote::Driver for Javascript that loads page later Selenium:driver.actions(...).moveToElement 不是 function - Selenium: driver.actions(...).moveToElement is not a function 页面源无法反映浏览器显示的内容 - Page source does not reflect what browser displays Java Selenium,在JavaScript激活后存储更新的页面源 - Java Selenium, storing updated page source after javascript activation 如何防止使用Selenium Web驱动程序或Javascript重新加载页面? - How to prevent page from reload using selenium web driver or using Javascript? JavaScript中的页面重新加载/刷新操作 - Actions on page reload/refresh in JavaScript C#Selenium,当页面仍在加载时如何在Web驱动程序上执行javascript - C# Selenium, how to execute javascript on web driver while page is still loading Reflect object 在 JavaScript 中做了什么? - What does the Reflect object do in JavaScript?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM