硒页面源ChromeDriver与PhantomJS之间存在差异

时间:2017-04-21 07:42:53

标签: python selenium phantomjs

我正在尝试访问https://gaming.youtube.com/live的DOM,并且使用ChromeDriver工作正常,但我使用PhantomJS失败了。

问题在于PhantomJS正在加载page_source中的所有内容,但似乎并不处理大部分HTML标记。

我调查了问题所在,看起来好像是

之间的所有元素
<ytg-app> 
    <ytg-auth-helper> 
    </ytg-auth-helper> 
</ytg-app>
PhantomJS中缺少

保存PhantomJS的屏幕截图时,我只看到网站本身的背景颜色,没有任何内容。

为什么会这样?我已经尝试等待加载元素,编辑service_args,更改窗口大小,使用不同的用户代理但似乎没有任何工作,我不知道为什么。

代码:

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

url = "https://gaming.youtube.com/live"    
phantomjs_path = 'pathto\phantomjs.exe'
dcap = dict(DesiredCapabilities.PHANTOMJS)
dcap["phantomjs.page.settings.userAgent"] = ('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36')

driver = webdriver.PhantomJS(executable_path=phantomjs_path, 
                             service_log_path=os.path.devnull, 
                             desired_capabilities=dcap, 
                             service_args=['--ignore-ssl-errors=true', '--ssl-protocol=ANY'])
driver.set_window_size(1200,1000)
driver.get(url)
driver.save_screenshot('test.png')

0 个答案:

没有答案