如何在Selenium中执行JavaScript并获取数据?

2024-10-02 22:32:36 发布

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

你好,谢谢你抽出时间。在

我的目的是做解析器,跟踪数百个站点,检查站点是否有模块(特殊插件)。主要的问题是,唯一的办法是确保,它是一个午餐JavaScript网站。在

enter image description here

所以,我不知道如何使用javascript和grap数据

例如:

driver = webdriver.Chrome('D:\chromedriver_win32\chromedriver')    
driver.get("https://lieman.com/")
tag = driver.execute_script("document.getElementsByClassName('arsenal_title')")
driver.close()
print(tag)

标签不打印。在

有人能帮我接收数据或告诉我用其他方法检查javascip吗

===

^{pr2}$

Tags: 模块目的插件解析器站点网站tagdriver
1条回答
网友
1楼 · 发布于 2024-10-02 22:32:36

您不需要执行javascript,而是使用^{}^{}

tags = driver.find_elements_by_class_name('arsenal_title')

或者

^{pr2}$

如果出于其他原因需要使用execute_script,并希望获得表达式的值,则需要在javascript端返回

tags = driver.execute_script("return document.getElementsByClassName('arsenal_title')")

更新

替换以下行:

morn = driver.execute_script("return redhlpSettings()")

有:

morn = driver.execute_script("return redhlpSettings")

因为redhlpSettings不是函数。您将看到javascript中的对象被转换为python中的dictionary对象。在

相关问题 更多 >