web自动化小练习(1)

让程序自动百度搜索周杰伦,做这个练习巩固一下这几天学的selenium基本知识。

遇到的主要问题:百度的href随机变化,需要通过正则提取:

import re
"""
正则表达式测试

<a.+?href=\"(.+?)\".*>(.+)</a>
单独href : <a.+?href=\"(.+?)\".*>
单独连接文字:>(.+)</a>

"""

href = '<a href="http://zonghe.hao.360.cn/#cid=youlike?from=hot-toutiao">热点</a>'
value = re.search(r'<a.+?href=\"(.+?)\".*>(.+)</a>', href)
print(value.group(1))  # http://zonghe.hao.360.cn/#cid=youlike?from=hot-toutiao
print(value.group(2))  # 热点

代码: 

from selenium import webdriver
import re

wd = webdriver.Chrome(r'D:\soft\selenium\chromedriver.exe')  # 谷歌驱动
wd.implicitly_wait(10)  # # 设置最大等待时长为10秒

wd.get('https://www.baidu.com/')
wd.find_element_by_class_name('s_ipt').send_keys('周杰伦')  # 找到输入框输入搜索内容
wd.find_element_by_id('su').click()

# 看下文截图
elements = wd.find_elements_by_css_selector('h3:nth-child(1)')
get_href = elements[2].get_attribute('innerHTML')
href_value = re.search(r'<a.+?href=\"(.+?)\".*>(.+)</a>', get_href)
href_value = href_value.group(1)
element = wd.find_element_by_css_selector('[href="%s"]' % href_value)
element.click()

# 切换窗口
for handle in wd.window_handles:
    wd.switch_to.window(handle)
    if '周杰伦_百度百科' == wd.title:
        break

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值