PhantomJS无法找到Chromedriver可以使用的元素

时间:2015-09-11 10:23:58

标签: python selenium-webdriver phantomjs

我意识到这个问题与this和其他SO问题非常相似。但是,我已经玩过了屏幕大小,还有等待时间,这还没有解决问题。

  1. 启动司机
  2. 打开网站并使用Selenium登录
  3. 从主页抓取特定值
  4. 这是在PhantomJS中不起作用的代码(但如果我使用chromedriver则可以正常工作):

    time.sleep(60)
    driver.set_window_size(1024,768)
    todays_points = driver.find_elements_by_xpath("//div/a[contains(text(),'Today')]/preceding-sibling::span")
    total = 0
    for today in todays_points: 
        driver.set_window_size(1024,768)
        points = today.find_elements_by_class_name("stream_total_points")[0].text
        points = int(points[:-4])
        total += points
    driver.close()
    print total
    

    我尝试访问的HTML位于div元素中:

    <span class="stream-type">tracked 7 Minutes-Recode for <span class="stream_total_points">349 pts</span></span>
    <a class="action_time gray_link" href="/entry/42350781/">Today</a>
    

    我想抓住'349 pts&#39;文本。但是,使用PhantomJS时返回的值始终为0,所以我认为它没有找到该元素。

    编辑:当我使用print(driver.page_source)打印html源代码时,我会输出正确的页面,但该元素不可见。使用视图源工具检查chrome,我在这里也看不到元素(但我可以使用inspect元素)。这可能是PhantomJS无法访问该元素的原因吗?

0 个答案:

没有答案