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

2024-04-25 12:00:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个页面,比如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将对象driver.find_elements_by_tag_name('table')的引用分配给我的变量my_tables,而不是值。因此,我没有得到正确的数据,因为在操作1和2之间有一些延迟。你知道吗

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

我尝试了pickleget_aatribute("InnerHTML").page_source,但它们在复制string对象时无法正常工作。你知道吗


Tags: 对象nametablesgetbymytagdriver
2条回答

一段时间后,我找到了解决办法:

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

我不认为你能做你想做的仅仅用硒。Selenium“驱动”一个正在运行的web浏览器,如果浏览器中的Javascript每秒更新一次页面的内容,那么您将遇到这些计时问题。你知道吗

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

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

相关问题 更多 >