Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.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
Python Selenium、动态内容、chrome webdriver_Python_Selenium_Selenium Webdriver_Webdriver - Fatal编程技术网

Python Selenium、动态内容、chrome webdriver

Python Selenium、动态内容、chrome webdriver,python,selenium,selenium-webdriver,webdriver,Python,Selenium,Selenium Webdriver,Webdriver,我想了解如何抓取一些动态网页, 但我无法让它工作 (我现在玩的网页是betfair.com,这是他们的现场投注 足球页面有一个动态比赛统计页面。要查看它的运行情况,请转到 betfair.com->赔率->现场博彩,点击任何足球比赛。) 它嵌入在两个iFrame中,我可以使用以下方式访问: frame1 = browser.find_element_by_xpath('//iframe[contains(@class, "player")]') browser.switch_to.frame(f

我想了解如何抓取一些动态网页, 但我无法让它工作

(我现在玩的网页是betfair.com,这是他们的现场投注 足球页面有一个动态比赛统计页面。要查看它的运行情况,请转到 betfair.com->赔率->现场博彩,点击任何足球比赛。)

它嵌入在两个iFrame中,我可以使用以下方式访问:

frame1 = browser.find_element_by_xpath('//iframe[contains(@class, "player")]')
browser.switch_to.frame(frame1)

frame2 = browser.find_element_by_xpath('//iframe[contains(@id, "playerFrame")]')
browser.switch_to.frame(frame2)
我得到一个iframe,可以切换到它。到现在为止,一直都还不错。 然而,当我现在尝试使用“浏览器”进行任何操作时, 我没有得到任何回应

为了阅读内容,还需要做些什么吗? 我正在尝试类似的东西:

browser.find_element_by_xpath("//div[contains(@id, 'in-game-stats')]")

上面的内部iframe确实包含id。另外,如果我使用chromedev工具尝试上面的手动步骤,它也可以工作。关于我为什么没有得到上述答案的任何线索?我是否需要等待一些东西才能使用?

在您的
frame2
下有第三个iframe,请在请求游戏统计中的
之前选择它。总的来看,

frame1 = browser.find_element_by_xpath('//iframe[contains(@class, "player")]')
browser.switch_to.frame(frame1)

frame2 = browser.find_element_by_xpath('//iframe[contains(@id, "playerFrame")]')
browser.switch_to.frame(frame2)
您可以尝试更好地识别最后一个iframe,这里我将把它作为iframe2下的第一个iframe进行索引

frame3 = browser.find_element_by_xpath('//iframe[1]')
browser.switch_to.frame(frame3)
现在,您可以获取您要查找的节点:

browser.find_element_by_xpath("//div[contains(@id, 'in-game-stats')]")

如果这没有帮助,试着发布你看到的错误,可能会有更多的帮助。现在,请尝试
浏览器。切换到新窗口或框架后,请切换到.default\u content()
。谢谢!我怎么会错过呢?