Javascript Python selenium在悬停时获取数据

Javascript Python selenium在悬停时获取数据,javascript,python,selenium,selenium-webdriver,Javascript,Python,Selenium,Selenium Webdriver,这是我到目前为止的代码。我试图获取一些文本,这些文本仅在我将鼠标悬停在某个元素上时显示。我找到了包含selenium的元素,并将鼠标悬停在它上面,但我不知道如何实际获取数据。当我检查元素时,数据似乎不在那里,并且我只能在查看页面源代码时在javascript中看到它。它只是一个变量,那么如何从javascript中获取该变量值呢 javascript: driver.get(link) time.sleep(2) lol = driver.find_element_by_xpath("//*[@

这是我到目前为止的代码。我试图获取一些文本,这些文本仅在我将鼠标悬停在某个元素上时显示。我找到了包含selenium的元素,并将鼠标悬停在它上面,但我不知道如何实际获取数据。当我检查元素时,数据似乎不在那里,并且我只能在查看页面源代码时在javascript中看到它。它只是一个变量,那么如何从javascript中获取该变量值呢

javascript:

driver.get(link)
time.sleep(2)
lol = driver.find_element_by_xpath("//*[@id='table_div']/div/div[1]/table/tbody/tr[2]/td[10]/div/div")
hover = ActionChains(driver).move_to_element(lol)
hover.perform()

我想要desp_列表中的第一件事(运行1000.0 None)

我们可以争论这种方法的可靠性,但是如果您只需要获取页面源并通过regex提取所需的数据会怎么样。通常,使用正则表达式解析HTML是非常困难的,但这里我们不关心页面的结构,只需要javascript数组的一部分。示例代码(未测试):


我们可以争论这种方法的可靠性,但是如果您只是获取页面源代码并通过regex提取所需的数据会怎么样呢。通常,使用正则表达式解析HTML是非常困难的,但这里我们不关心页面的结构,只需要javascript数组的一部分。示例代码(未测试):


你能告诉我这个变量是在哪里定义的吗?此外,当元素悬停并指向所需数据的确切位置时,您可以捕获HTML标记。谢谢我添加了javascript,但html是问题所在。我认为当我悬停时,数据实际上不会显示在html中。它只存在于javascript中。你能告诉我这个变量是在哪里定义的吗?此外,当元素悬停并指向所需数据的确切位置时,您可以捕获HTML标记。谢谢我添加了javascript,但html是问题所在。我认为当我悬停时,数据实际上不会显示在html中。它只在javascript中。谢谢。但是括号里的内容正确吗?是否需要添加RUNNING 1000.0 None?我真的不知道如何使用regexyea,它没有给我任何匹配,我认为它不起作用,因为我切断了太多的javascript。请查看上面编辑的代码,如果您知道如何修复,请告诉我it@rishubk啊,当然,有两个方括号。我已经更新了答案,请尝试一下。谢谢。很抱歉再问你一个问题,但是你能解释一下re.compile语句的语法吗。我在网上阅读了regex文档,但它仍然没有意义。但是括号里的内容正确吗?是否需要添加RUNNING 1000.0 None?我真的不知道如何使用regexyea,它没有给我任何匹配,我认为它不起作用,因为我切断了太多的javascript。请查看上面编辑的代码,如果您知道如何修复,请告诉我it@rishubk啊,当然,有两个方括号。我已经更新了答案,请尝试一下。谢谢。很抱歉再问你一个问题,但是你能解释一下re.compile语句的语法吗。我在网上阅读了regex文档,但仍然没有意义
   function apply_pop(){
   jq(".pop_up").mouseenter(function(p_event){
   p_value = jq(this).attr("value")
   //creating dynamic lists from python static storage
   var data_list = ['0', '2015-07-13 17:29:15'];

   var desp_list = [['RUNNING 1000.0 None', 'INVALID None None', 'INVALID None None', 'PASSED 0.05 2015-07-10 17:21:54', 'FAILED 0.05 2015-07-08 12:35:55', 'FAILED 0.05 2015-07-08 09:54:48', 'FAILED 0.05 2015-07-07 18:21:17', 'FAILED 0.05 2015-07-07 17:07:50', 'FAILED 0.05 2015-05-28 18:33:41'], ['FAILED 0.05 2015-07-13 16:33:38', 'FAILED 0.05 2015-07-10 15:36:30', 'FAILED 0.05 2015-07-09 19:39:46', 'FAILED 0.05 2015-07-09 11:00:45', 'FAILED 0.05 2015-07-09 01:05:13', 'INVALID None None', 'INVALID None None', 'FAILED 0.05 2015-06-19 22:42:21']]
   ...};
import re

# ...

page_source = driver.page_source

pattern = re.compile(r"var desp_list = \[\['(.*?)',")
match = pattern.search(page_source, re.MULTILINE | re.DOTALL)
print match.group(1) if match else "No match"