selenium

selenium

一、环境搭建

1. 安装selenium库
pip install selenium
2. 安装浏览器驱动

网页链接:Microsoft Edge Driver - Microsoft Edge Developer

简单起见将下载的msedgedriver.exe与py文件放在同一目录下,可以不用配置环境变量。

二、初始化

1. 启动浏览器驱动
from selenium import webdriver
wd = webdriver.Edge("msedgedriver")
2. 设置等待时间
wd.implicitly_wait(5)
3. 打开网站
wd.get("https://www.bv2008.cn/app/user/register.php?type=org")
4. 程序的最后关闭浏览器驱动
wd.quit()

三、选择元素

1. 导入库
from selenium.webdriver.common.by import By
2. 根据ID查找
element = wd.find_element(By.ID, 'ID值')
3. 根据css选择器查找
element = wd.find_element(By.CSS_SELECTOR, 'css选择器')
4. 其他查找方法
element = wd.find_element(By.CLASS_NAME, 'class属性')
element = wd.find_element(By.TAG_NAME, '标签名')
5. find_element与find_elements
find_element返回一个元素(第一个)
find_elements返回元素列表

四、操作元素

1. 输入文字:send_keys()
element.send_keys('文本')			# 用于文本框
2. 点击:click()
element.click()			# 用于按钮、超链接、单选框、多选框、
3. 下拉框选择
s = Select(element)
s.select_by_value('value值')
# s.select_by_visible_text('文本信息')

五、切换窗口

1. iframe
# 进入到iframe
wd.switch_to.frame('iframe名')
# wd.switch_to.frame(element)

# 回到原页面
wd.switch_to.default_content()
2. 切换页面
for window_handle in wd.window_handles:
    wd.switch_to.window(window_handle)
    if '内容' in wd.title:
        break

视频地址与完整代码

selenium web自动化,python全自动操作浏览器,适合初学者了解学习

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.select import Select

wd = webdriver.Edge("msedgedriver")
wd.implicitly_wait(10)
wd.get("https://www.bv2008.cn/app/user/register.php?type=org")

wd.find_element(By.ID, 'login_name').send_keys('abcde123')

wd.find_element(By.CSS_SELECTOR, '#reg_org > table > tbody:nth-child(1) > tr:nth-child(10) >'
                                 ' td:nth-child(2) > input[type=radio]:nth-child(2)').click()

# Select(wd.find_element(By.ID, 'org_type1')).select_by_value('1727')
Select(wd.find_element(By.ID, 'org_type1')).select_by_visible_text('社会服务机构')

wd.find_element(By.CSS_SELECTOR, '#org_record1 > tr:nth-child(2) > td:nth-child(2) > a').click()
wd.switch_to.frame(wd.find_element(By.CSS_SELECTOR, 'body > div.div_tips > iframe'))
wd.find_element(By.CSS_SELECTOR, '#org_list > ul > li > span.son > ul > li:nth-child(1) > a:nth-child(3)').click()
wd.switch_to.default_content()

wd.find_element(By.CSS_SELECTOR, 'body > div.nav > div > a:nth-child(2)').click()
wd.find_element(By.CSS_SELECTOR, 'body > div.main > div:nth-child(1) > ul > li:nth-child(2) > div > a').click()

for window_handle in wd.window_handles:
    wd.switch_to.window(window_handle)
    if '助力' in wd.title:
        break

wd.find_element(By.CSS_SELECTOR, '#main_body > div.wrap.clearfix.m10 > div.conr >'
                                 ' div:nth-child(2) > table > tbody > tr > td:nth-child(2) > a').click()
# wd.quit()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pigerr杨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值