码迷,mamicode.com
首页 > 其他好文 > 详细

selenium基础知识1

时间:2018-11-18 00:45:08      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:lambda   exce   css_   python   基础   显示   方法   try   com   

一、元素的8种定位  (以百度为例)

#导入所需要的包

from selenium import webdriver

dr = webdriver.Chrome()

dr.get("https://www.baidu.com/")

1、通过id定位

dr.find_element_by_id("kw").send_keys("selenium自动化")

2.通过name定位

dr.find_element_by_name("").send_keys("selenium自动化")

3、通过class_name定位

dr.find_element_by_class_name("s_ipt").send_keys("selenium自动化")

4、通过link_text定位

dr.find_element_by_link_text("新闻").click()

5.通过partail_link_text定位

dr.find_element_by_link_text("新闻").click()

dr.find_element_by_partail_link_text("主持中央深化").click()

6.通过tag_name来定位

input1 = dr.find_elements_by_tag_name("input")
for input2 in input1:
if input2.get_attribute("class") == "s_ipt" \
and input2.get_attribute("autocomplete") =="off"

dr.input1.send_keys

 

7.通过xpath定位

dr.find_element_by_xpath(‘//input[@id="kw"]‘).send_keys("天行健,君子当自强不息")

8.通过css_selector定位

dr.find_element_by_css_selector(input[name=id]).send_keys("天行健,君子当自强不息")

dr.find_element_by_css_selector("#kw").send_keys("天行健,君子当自强不息")

 

二、By类

from selenium import webdriver

#导入By类的包
from selenium.webdriver.common.by import By

dr = webdriver.Chrome()
dr.get("https://www.baidu.com/")
# dr.find_element(By.ID,"kw").send_keys("selenium自动化")
# dr.find_element(By.CLASS_NAME,"s_ipt").send_keys("selenium")
# dr.find_element(By.XPATH,‘//input[@id="kw"]‘).send_keys("selenium自动化")
# dr.find_element(By.CSS_SELECTOR,"input[autocomplete=off]").send_keys("web自动化")
dr.find_element(By.LINK_TEXT,"新闻").click()
dr.find_element(By.PARTIAL_LINK_TEXT,"中国国际进口").click()

 

三、设置元素等待。三种方式

1、sleep(s) python time模块下面的方法

2、implicitly_wait(s)     webdriver   隐式等待(就是在创建driver时,为浏览器对象创建一个等待时间,这个方法是得不到某个元素就等待一段时间,直到拿到某个元素位置。)

例:

from selenium import webdriver

dr = webdrier.Chrome()

dr.implicitly_wait(5)

dr.get("https//www.baidu.com/")

dr.find_element_by_id("kw").send_keys("selenium自动化")

dr.find_element_by_id("su").click()

 

3、webDriverWait显示等待(显示等待是应该使用 selenium.webdriver.support.excepted_conditions期望的条件和selenium.webdriver.support.ui.webDriverWait 来配合完成。)

例:

from selenium import webdriver

from time import ctime

from.selenium.webdriver.support.ui import webDriverWait

dr = webdriver.Chrome()

dr.get("https//www.baidu.com")

#WebDriverWait显示等待 Selenium模块中的EC类提供的方法
print ("%s"%ctime())
try:
wait = WebDriverWait(dr,5,0.5).until(lambda dr:dr.find_element_by_id("kddaw"))
except:
print ("%s"%ctime())

 

selenium基础知识1

标签:lambda   exce   css_   python   基础   显示   方法   try   com   

原文地址:https://www.cnblogs.com/sjjhw/p/9960976.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!