selenium知识点(二)

selenium知识点(二)



页面等待

为什么需要页面等待

1、网页元素需要加载时间

2、有时候一些操作只有在某种条件成熟的情况下才能做

如何处理页面等待的问题?

time.sleep(3)

selenium有自己的等待方式提供了隐式等待和显示等待

代码案例实现

from selenium import webdriver
import time
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as ec

"""
#为什么需要页面等待
1、网页元素需要加载时间
2、有时候一些操作只有在某种条件成熟的情况下才能做

#如何处理页面等待的问题?
time.sleep(3)
selenium有自己的等待方式提供了隐式等待和显示等待
"""

driver = webdriver.Chrome()
# driver.get("https://www.baidu.com/")
driver.get("https://kyfw.12306.cn/otn/leftTicket/init?linktypeid=dc")
# 会把设定时间用完,再进行操作
# time.sleep(10)

# 隐式等待(更快)
# 赋予一个全局等待时间
# driver.implicitly_wait(10)

# 显示等待
# 输入出发地
WebDriverWait(driver, 1000).until(
    ec.text_to_be_present_in_element_value((By.ID, 'fromStation'), 'CSQ')
)
# 显示等待
# 输入目的地
WebDriverWait(driver, 1000).until(
    ec.text_to_be_present_in_element_value((By.ID, 'toStation'), 'BJP')
)

tic_tag = driver.find_element_by_id('query_ticket')
# execute_script用来执行js代码的
driver.execute_script('arguments[0].click', tic_tag)
tic_tag.click()

操作多窗口

from selenium import webdriver
import time
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()
driver.get("https://www.baidu.com/")

time.sleep(2)

# 会直接覆盖网站
# driver.get("https://www.douban.com/")

# 如何同时打开两个网页
driver.execute_script('window.open("https://www.douban.com/")')

time.sleep(2)

driver.execute_script('window.open("https://kyfw.12306.cn/otn/leftTicket/init?linktypeid=dc")')
time.sleep(2)

# close()关闭当前锁打开网页
# driver.close()
# 通过close()测试 我们发现 关闭的都是第一个打开的网页

# 获取当前操作的url
print(driver.current_url)
# 如果想要切换操作其他页面 需要切换selenium的视角
driver.switch_to.window(driver.window_handles[2])
print(driver.current_url)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

猩猩文学

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

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

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

打赏作者

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

抵扣说明:

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

余额充值