gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 15:58:22 29 4
gpt4 key购买 nike

您好,感谢您抽出时间。

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

enter image description here

所以,我不知道如何使用 javascript 并获取数据

例如:

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

标签打印无。

有人可以帮我接收数据或告诉我其他方式来检查javascipt

===

def main():
driver = webdriver.Chrome('D:\chromedriver_win32\chromedriver')
driver.get("http://redhelper.ru/")
morn = driver.execute_script("return redhlpSettings()")
driver.close()
print(morn)

if __name__ == '__main__':
main()

最佳答案

您不需要执行javascript,使用find_elements_by_class_name(class_name)find_element_by_class_name(class_name)相反:

tags = driver.find_elements_by_class_name('arsenal_title')

或者

tag = driver.find_element_by_class_name('arsenal_title')
<小时/>

如果出于其他原因需要使用execute_script,并且想要获取表达式的值,则需要在javascript端return:

tags = driver.execute_script("return document.getElementsByClassName('arsenal_title')")
<小时/>

更新

替换以下行:

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

与:

morn = driver.execute_script("return redhlpSettings")

因为redhlpSettings不是一个函数。您将看到 javascript 中的对象被转换为 python 中的字典对象。

关于javascript - 如何在 Selenium 中执行 JavaScript 并获取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40570870/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com