我正在尝试编写一个脚本,用于从网站中提取数据库。
主页包含一个表,其中所有行均包含指向另一个包含所需数据库的页面的链接。
到目前为止,我的脚本可用于从特定行提取数据库,但我不知道如何扩展表的所有行的脚本。
例如,提取第一行的数据库后,我的脚本应返回到上一页,然后单击到第二行并提取数据库:
var lastName = document.getElementById('A1').value; //extracting DB
if(_PGSAISIEBANCAIRE_SUB()){_JSL(_PAGE_,'A83','_self','','')} //going to previous page
document.getElementById('A23').click(); //going to the page of the next line
但是当我在Google Chrome控制台上运行脚本时,每次重新加载页面时,我的脚本都会消失,因此无法一次提取多行。
有人知道如何解决此问题吗?
答案 0 :(得分:0)
我终于找到了!
我的问题是,要浏览该网站,我需要一个javascript循环,当我使用浏览器时,刷新每个页面后我的代码都消失了。
解决方案是使用Selenium(我在Python上使用过,但其他语言也可以使用)并从您的代码中运行javascript:
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://myWebSite.com")
driver.execute_script("document.getElementById('A40_2').click();")
您可以使用Python轻松执行Javascript循环:
for i in range (10):
driver.execute_script("extract here;")
或使用Javascript本身
driver.execute_script("var i; for(i=0;i<10;i++){extract here;};")