from selenium import webdriver
from selenium.webdriver.common.by import By # 设置元素定位使用哪种方法的
from selenium.webdriver.support.ui import WebDriverWait # 元素等待类
from selenium.webdriver.support import expected_conditions as EC # 提供条件判断函数
# 创建浏览器驱动对象,这里是打开浏览器
driver = webdriver.Chrome("E:\愤怒吧小鸟\chromedriver-win64\chromedriver.exe")
# 访问网址
driver.get("https://m.weibo.cn/")
# 点击大家都在搜
# driver.find_element_by_xpath("/html/body/div/div/div/div/a//div").click()
# driver.find_element_by_xpath("//div[@class=\"m-text-cut\"]").click() # \"m-text-cut\"转义为普通的字符(或者外层单引号)
driver.find_element_by_xpath('//div[@class="m-text-cut"]').click()
# 点击微博热搜榜
# ele=driver.find_element_by_css_selector("#app > div:nth-child(1) > div:nth-child(1) > div.card.m-panel.card16.m-col-2 > div > div > div:nth-child(10) > div > div > h4")
# ele=driver.find_element_by_xpath('//div[@class="card-main"]/div[10]//h4')
# 显示等待,若等到元素,就不会再等了
# 若想使用显示等待,则必须对元素定位进行修改
# 也就是说,显示等待必须对具体的某个元素定位,去主动声明
# 每隔 0.5s 检查一次元素是否存在,最多等待 5 s
# 若在最大超时时间内,找到元素,就不等了,继续往下执行
# 若最大超时时间还找不到元素,就报错
ele = WebDriverWait(driver, 5, 0.5).until( # 每隔 0.5s 检查一次元素是否存在,最多等待 5 s
EC.visibility_of_element_located( #visibility_of_element_located()是一个函数,并且()里的对象是元组,检查元素是否被加载出来
(By.CSS_SELECTOR,
"#app > div:nth-child(1) > div:nth-child(1) > div.card.m-panel.card16.m-col-2 > div > div > div:nth-child(10) > div > div > h4")
)
)
ele.click()
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
代码示例.zip (12个子文件)
代码示例
day02
显示等待.py 2KB
waitLib.py 741B
获取断言信息.py 1KB
__pycache__
waitLib.cpython-39.pyc 710B
隐式等待.py 1KB
day03
练习题.py 1KB
控制浏览器的前进后退刷新.py 678B
test1.html 2KB
css高级语法.py 356B
webdriver常用方法.py 827B
控制浏览器大小.py 660B
test.html 2KB
共 12 条
- 1
资源评论
阿里嘎多f
- 粉丝: 6609
- 资源: 50
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功