将HTML源代码作为一个HTML对象,并能够使用DOM操作在其中工作



我有一个页面,比如https://jq.profinance.ru/html/htmlquotes/site2.jsp,它每秒更新一次。我的目标是使用Seleniumparse值。

driver = webdriver.Chrome()
driver.get(url)
mylist = []
my_tables = driver.find_elements_by_tag_name('table') #operation1
for tr in my_tables.find_elements_by_tag_name('tr'): #operation2
mylist.append(tr)

问题是Python为我的变量my_tables指定了对对象driver.find_elements_by_tag_name('table')的引用,但没有指定值。因此,我没有得到正确的数据,因为操作1和操作2之间存在一些滞后。

如何复制网页HTML结构,然后使用Selenium命令遍历文档结构?

我尝试了pickleget_aatribute("InnerHTML").page_source,但它们在复制字符串对象时无法正常工作。

我认为单独使用硒并不能完全做到您想要做的事情。Selenium"驱动"一个正在运行的web浏览器,如果该浏览器中的Javascript每隔一秒左右就会更新页面的内容,那么您就会遇到这些时间问题。

您可以使用Selenium驱动浏览器以字符串形式获取页面HTML的快照(正如您在上一段中所描述的那样(。

然后,您可以使用Beautiful Soup这样的库来解析HTML字符串并提取所需的数据。

过了一段时间,我找到了解决方案:

  1. 将文件转储到字符串中并本地保存在html文件中
  2. 在本地打开html文件
  3. 如果你想回到网站,写driver.back()

最新更新