51Testing软件测试论坛

标题: python+selenium怎么点击menu的某个值,新手求教 [打印本页]

作者: 我爸是李刚    时间: 2017-4-24 15:49
标题: python+selenium怎么点击menu的某个值,新手求教
操作菜单结构树:
[attach]105588[/attach]
结构树的id是menu,代码如下:
[attach]105589[/attach]
我需要点击‘商品管理’,再点击‘商品列表’,该如何实现?用find_element_by_?哪个值?是否需要逐级取值?用求大神指教。


作者: 梦想家    时间: 2017-4-24 15:59
xpath不可以么
作者: 梦想家    时间: 2017-4-24 15:59
link呢?
作者: hyj785    时间: 2017-4-24 16:40

试试 Locating Hyperlinks by Link Text


# coding=utf-8
from selenium import webdriver
from datetime import *
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait as Wt

driver = webdriver.PhantomJS()

def openmenu():
    try:
        menu_1 =  driver.find_element_by_partial_link_text('商品管理');
        menu_1_1 = driver.find_element_by_partial_link_text('商品列表');
        driver.get(url)
        driver.maximize_window()
        menu_1.click();
        Wt(driver, 10).until(EC.visibility_of(menu_1_1));
        menu_1_1.click();
        print driver.current_url
        driver.save_screenshot('screenshot.png')
    except Exception, e:
        print "Error: ", e
    finally:
        print u'End'


if __name__ == '__main__':
    # 操作函数
    openmenu();
    driver.quit();
作者: cq520131517    时间: 2017-4-24 17:56
利用xpath定,这个很好用
driver.find_element_by_xpath("//span[text()='商品管理']").click()
time.sleep(2)
driver.find_element_by_xpath("//span[text()='商品列表']").click()
作者: jingzizx    时间: 2017-4-25 08:31

作者: 掉渣饼    时间: 2017-4-25 09:05
可以用xpath方法定位,建议你可以多去论坛或者网上中下载一些关于selenium方面的一些知识去看看
作者: 我爸是李刚    时间: 2017-4-25 16:05
谢谢哦,用xpath可以,用link_text也可以,感谢。感谢各位大神。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2