【问题标题】:python selenium PhantomJS don't find element, but Firefox couldpython selenium PhantomJS 找不到元素,但 Firefox 可以
【发布时间】:2015-02-13 03:15:42
【问题描述】:
driver = webdriver.PhantomJS()
driver.get('http://open.qq.com/login?from=http%3A%2F%2Fop.open.qq.com%2F')
driver.implicitly_wait(30)

driver.switch_to.frame('login_frame')
driver.find_element_by_id('u').send_keys('157447865')
driver.find_element_by_id('p').send_keys('abc_123_')
driver.find_element_by_id('login_button').click()
time.sleep(5)
driver.find_elements_by_class_name('btn-manage')[1].click()
time.sleep(5)
app_num = driver.find_element_by_tag_name('tbody').text
driver.quit()

if app_num:
    day_total = app_num.split('\n')[0].split()
    return day_total[-3].replace(',', ''), day_total[-2].replace(',', '')
return '', '0'

当我执行代码'driver.find_elements_by_class_name('btn-manage')[1]'时,驱动程序无法标记class_name为'btn-manage'的名称,实际上有两个元素。为什么要通过驱动程序查找元素driver.find_elements_by_class_name('btn-manage') 中的 .find_elements_by_class_name('btn-manage'),但 Firefox 可以。

【问题讨论】:

    标签: python selenium phantomjs


    【解决方案1】:

    这是关键。

    driver.find_element_by_id('login_button').click() 
    #are you sure you have logged in successfully under PhantomJS?
    time.sleep(5)
    driver.find_elements_by_class_name('btn-manage')[1].click()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-24
      • 1970-01-01
      • 2017-05-31
      • 2016-03-10
      • 1970-01-01
      相关资源
      最近更新 更多