Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过硒刮网_Javascript_Python_Ajax_Selenium - Fatal编程技术网

Javascript 通过硒刮网

Javascript 通过硒刮网,javascript,python,ajax,selenium,Javascript,Python,Ajax,Selenium,我正在使用selenium、python和javascript从以下链接提取数据: https://www.google.co.in/search?q=Fortis+Escorts+Heart+Institute+%26+Research+Centre,+Okhla+Road,+Opp+Holy+Family+Hospital,+New+Friends+Colony,+New+Delhi,+Delhi+110025&ludocid=8685206163378021720#lrd=0x39

我正在使用selenium、python和javascript从以下链接提取数据:

https://www.google.co.in/search?q=Fortis+Escorts+Heart+Institute+%26+Research+Centre,+Okhla+Road,+Opp+Holy+Family+Hospital,+New+Friends+Colony,+New+Delhi,+Delhi+110025&ludocid=8685206163378021720#lrd=0x390ce4759f47e68d:0x78880cfd492e2558,1
当我执行以下脚本时,会滚动主窗口,而不是弹出窗口(ajax窗口)

我想滚动弹出窗口,而不是主窗口。 感谢您的帮助

要退出主浏览器窗口中的循环,我使用以下逻辑:

while (num_clicks>=0 and end_doc==0):
    driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
    time.sleep(3)
    num_clicks = num_clicks-1
    x = driver.execute_script("return pageYOffset")
    if x==y:
        end_doc = 1
    y = x
是否有一种方法可以使用类似的逻辑退出子窗口。

对于列表中的最后一次审阅,请重复:

from selenium import webdriver

driver = webdriver.Firefox()
driver.get("https://www.google.co.in/search?q=Fortis+Escorts+Heart+Institute+%26+Research+Centre,+Okhla+Road,+Opp+Holy+Family+Hospital,+New+Friends+Colony,+New+Delhi,+Delhi+110025&ludocid=8685206163378021720#lrd=0x390ce4759f47e68d:0x78880cfd492e2558,1")

while True:  # TODO: decide on when to stop the loop
    reviews = driver.find_elements_by_css_selector("._ju")
    driver.execute_script("arguments[0].scrollIntoView();", reviews[-1])

代码对我来说是有效的,但我已经让你决定无止境循环退出条件

效果很好。谢谢!!我面临着退出循环的挑战。在一个类似的站点上,但有主窗口而不是弹出窗口,我将滚动的位置(使用pageYOffset)与滚动后滚动的位置进行比较。如果它们相同,则退出循环。但是在弹出窗口的情况下,似乎没有办法获得pageYOffset(给出主窗口的结果)。我必须使用一种解决方法,它可以完成工作,但效率不高。@AmitAgarwal好的,你能单独提出一个问题并提供必要的细节吗?非常感谢。请在这里抛出一个链接。@alexce。无法发布问题。已达到极限。我在主浏览器窗口的主问题中发布了退出循环的代码。我在退出循环时面临挑战。在一个类似的站点上,但有主窗口而不是弹出窗口,我将滚动的位置(使用pageYOffset)与滚动后滚动的位置进行比较。如果它们相同,则退出循环。但是在弹出窗口的情况下,似乎没有办法获得pageYOffset(给出主窗口的结果)。我必须使用一种工作环境,它可以完成工作,但效率不高。
from selenium import webdriver

driver = webdriver.Firefox()
driver.get("https://www.google.co.in/search?q=Fortis+Escorts+Heart+Institute+%26+Research+Centre,+Okhla+Road,+Opp+Holy+Family+Hospital,+New+Friends+Colony,+New+Delhi,+Delhi+110025&ludocid=8685206163378021720#lrd=0x390ce4759f47e68d:0x78880cfd492e2558,1")

while True:  # TODO: decide on when to stop the loop
    reviews = driver.find_elements_by_css_selector("._ju")
    driver.execute_script("arguments[0].scrollIntoView();", reviews[-1])