也可参考安装chormdriver:https://blog.csdn.net/hshan_/article/details/10053753
实现的效果为通过chorme自动百度搜索webdribver并自动关闭
元素的定位
模糊
通过定位实现自动登录的具体步骤(xpath的应用)
先找到登录框进行输入名字:
再输入密码:
验证码:
点击登录:
等待响应,以及关闭:
l练习1:
利用webdriver打开百度,并且利用webdriver模拟进行下面的操作:
1. 在百度的搜索框中输入搜索关键字“python”
2. 点击搜索按钮
3. 在搜索结果列表中使用xpath来定位结果的标题
4. 打印出所有结果记录的标题文本
现在consel中进行定位:
具体代码:
from selenium import webdriver import time drive=webdriver.Chrome() drive.get('https://www.baidu.com') drive.find_element('xpath',"//input[@id='kw']").send_keys('python') drive.find_element('xpath',"//input[@id='su']").click() time.sleep(2)#搜索登录 titles=drive.find_elements('xpath',"//div[@id='content_left']/div//h3")#必须是fnid_elments因为查找多个元素 for title in titles: print(title.text) drive.close()
练习2:
在页面https://www.tiebazhushou.com/index/id.html中,使用webdriver完成以下操作:
1. 选择地址:北京市、市辖区、西城区
2. 出生日期:1999年01月01日
3. 选择性别:男
4. 点击“生成”按钮
5. 获取生成的所有姓名和身份证号记录
from selenium import webdriver import time from selenium.webdriver.support.ui import Select driver=webdriver.Chrome() driver.get('https://www.tiebazhushou.com/index/id.html') Select(driver.find_element('id', 'province')).select_by_visible_text("河北省") Select(driver.find_element('id', 'city')).select_by_visible_text("石家庄市") Select(driver.find_element('id', 'county')).select_by_visible_text("市辖区") Select(driver.find_element('id', 'year')).select_by_visible_text('2018') Select(driver.find_element('id', 'month')).select_by_visible_text('11') Select(driver.find_element('id', 'day')).select_by_visible_text('12') Select(driver.find_element('id', 'sex')).select_by_visible_text('男') driver.find_element("id","creat").click() tiles=driver.find_elements('xpath',"//table[@class='table table-hover table-bordered']/tbody/tr/td") for title in tiles: print(title.text)
结果显示:
弹框练习:
页面有fram时(qq邮箱的网页登录)
练习:
通过我们之前讲解的定位的alert,prompt,和confirm以及iframe的操作方法,操作以下地址的对象:
获取alert框的文本内容及点击确定按钮:http://www.w3school.com.cn/tiy/t.asp?f=hdom_alert
获取confirm框弹出的文本内容,并分别点击确定和取消按钮:http://www.w3school.com.cn/tiy/t.asp?f=hdom_confirm
获取prompt框弹出的文本内容,并向prompt框内输入hello, world,并获取最后显示的文字http://www.w3school.com.cn/tiy/t.asp?f=hdom_prompt
第三题:
from selenium import webdriver import time from selenium.webdriver.support.ui import Select driver=webdriver.Chrome() driver.get('http://www.w3school.com.cn/tiy/t.asp?f=hdom_prompt') driver.switch_to_frame(driver.find_element('id','iframeResult')) driver.find_element('xpath', '//input[@onclick="disp_prompt()"]').click() a=driver.switch_to_alert() a.send_keys('真TM帅啊') a.accept() content=driver.find_element('xpath','//body').text print(content)
结果: