selenium基础知识1

一、元素的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())

 

转载于:https://www.cnblogs.com/sjjhw/p/9960976.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值