selenium自学_元素基本定位方法

想要在测试这方面能够有更进一步的发展,边学习边记下一些笔记,加深印象,也方便以后使用,其实也是百度百度,记录记录
自学的过程是有点摸不着方向,所以找到一位博主跟着他的博客记录来学习一些基础知识(http://blog.csdn.net/liujingqiu/article/details/50469027)

记录一下,希望变成自己的东西

最基础的元素定位:

//设置浏览器driver路径
        System.setProperty("webdriver.firefox.bin", "D:\\software\\Mozilla Firefox\\firefox.exe");
        WebDriver driver = new FirefoxDriver();
        driver.get("https://www.baidu.com");
        //采用id查找
        //driver.findElement(By.id("kw")).sendKeys("selenium");
        Thread.sleep(1);
        //采用class查找
        //driver.findElement(By.className("s_ipt")).sendKeys("webdriver");
        //采用name查找
        driver.findElement(By.name("wd")).sendKeys("google");
        driver.close();

以上都是java中的方法,python中更加简练一些

下面自己完成了一个简单的python+selenium 登录百度云的步骤,使用了最近学习到的基础的定位方法

from selenium import webdriver
from time import sleep

driverChrome = webdriver.Chrome()
driverChrome.get("http://yun.baidu.com/")
driverChrome.maximize_window()  #将浏览器窗口最大化

#查找元素
driverChrome.find_element_by_link_text("帐号密码登录").click()  #查找链接
driverChrome.find_element_by_id("TANGRAM__PSP_4__userName").send_keys("184xxxx") #通过id找到name输入框并输入用户名
driverChrome.find_element_by_id("TANGRAM__PSP_4__password").send_keys("xxxxx")  #输入密码
sleep(3)

#使“记住密码checkbox选中”,先判断他是否是选中的
state = driverChrome.find_element_by_id("TANGRAM__PSP_4__memberPass").is_selected() 
 #采用is_selected 返回checkbox是否选中状态,返回值为true和false,未被选中则进行选择
if state ==False:
    driverChrome.find_element_by_id("TANGRAM__PSP_4__memberPass").click() #选择checkbox
driverChrome.find_element_by_id("TANGRAM__PSP_4__submit").click() #选择登录按钮,点击登录
print("成功跳转至登录成功界面")
sleep(3)
text1 = driverChrome.find_element_by_xpath('//*[@id="dynamicLayout_0"]/div/div/dl/dd[2]/span/span[2]')  
#采用xpath定位登录成功页面是否存在登录用户名
if(text1.text == '一起行xxx'):
    print("登录成功")

这一次的代码中印象深刻的知识点包括判断checkbox是否选中使用is_selected(),返回true和false
参考文章http://www.cnblogs.com/yoyoketang/p/6128675.html 其中还讲到radio判断同样采用is_selected,文章中提到如果要定位一组复选框checkbox可采用
find_elements_by_xpath(),若要判断一组checkbox是否都选中可进行循环遍历,下次遇到这种场景尝试一下http://www.cnblogs.com/fnng/p/3190966.html这个网址可以
进行参考
在本次简单代码中,还遇到一个问题,在使用xpath判断是否有用户名时,第一次报错提示没有找到该xpath,仔细核对后没有错,尝试加了一个sleep(3),则成功,
可能第一次还没加载完成,所以没找到

第一次简单混乱的自动化代码完成,接着继续学习,任重而道远
如果我的文章被浏览,希望可以被人指点指点,分享一下学习的方向




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值