【发布时间】:2021-01-25 12:40:42
【问题描述】:
目前,我使用 Selenium 从网站上的表格中提取文本。以下是代码:
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
# Using Chrome to access web
browser = webdriver.Chrome(ChromeDriverManager().install())
# Open the website
browser.get('https://launchstudio.bluetooth.com/Listings/Search')
element = browser.find_element_by_id('searchButton').click()
table_text = browser.find_element_by_class_name('table').text
while len(table_text) < 80:
table_text = browser.find_element_by_class_name('table').text
print(table_text)
browser.close()
但是,我正在尝试找到一种方法来对 Requests/Beautiful soup 或任何其他库执行相同的操作,我可以在其中将其安排为 Windows 中的任务,并每隔 x 间隔将结果存储在表中。显然,因为我希望这一切都在后台发生,然后触发通知等。
我想要的是-打开这个网站,点击搜索按钮(或触发相应的javascript),然后将表格导出为Dataframe或其他。
你能在这里指导我吗?
提前致谢!!
【问题讨论】:
-
您是否意识到
bs4和requests将无法触发JavaScript? -
我愿意,但我学到的一件事是,总有办法。是否可以在不弹出 chrome 窗口的情况下完成所有这些操作?我的意思是记忆中的这一切就是我的意思。
-
好吧,你为什么不用
headless模式呢? -
@baduker : 有一个 API 可以检索所有值,所以这里不需要 selenium。
标签: javascript python selenium beautifulsoup python-requests