text获取文本元素

举报
bug郭 发表于 2022/11/30 16:28:59 2022/11/30
【摘要】 text获取元素文本对操作对象进行.text方法就能获取到元素文本# 清除输入框clear()from selenium import webdriverimport timedriver = webdriver.Chrome()# 打开音乐服务器的登入页面driver.get('http://43.142.82.4:8080/login.html')time.sleep(3)# 定位到用...

text获取元素文本

对操作对象进行.text方法就能获取到元素文本

# 清除输入框clear()
from selenium import webdriver
import time
driver = webdriver.Chrome()
# 打开音乐服务器的登入页面
driver.get('http://43.142.82.4:8080/login.html')
time.sleep(3)
# 定位到用户名的label,获取到text文本内容
date = driver.find_element_by_xpath('/html/body/div/form/div[1]/label').text
print(date)
time.sleep(3)
driver.quit()

在这里插入图片描述
在这里插入图片描述

添加等待

sleep休眠

添加休眠等待非常简单只需要引入time模块即可,通过模块下的sleep方法添加固定的休眠时间!

# 导入模块
import time
# 休眠3秒
time.sleep(3)

隐式等待

通过webdiver模块下的implicitly_wait()方法就可以实现智能等待,咱这个等待方式比time.sleep较智能,后者无论是否已经等待到都要等待固定时间,类似于等人,就算提前等到也好一起等待完固定时间再进行后续工作,而implicitly_wait()方式就是提前等到了,那就提前结束等待!

隐式地等待并非一个固定的等待时间,当脚本执行到某个元素定位时,如果元素可以定位,则继续执行;如果元素定位不到,则它以轮询的方式不断的判断元素是否被定位到。直到超出设置的时长!

# 通过css selector 通过css空间的属性名进行定位!
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("http://baidu.com/")
#定位输入框
driver.find_element_by_css_selector('#kw').send_keys('俄乌冲突')
driver.implicitly_wait(3000) # 隐式等待3000秒
#css selector方式定位到搜索按钮
driver.find_element_by_css_selector('#su').click()
time.sleep(3)
driver.quit()

在这里插入图片描述

打印信息

  • 打印title

将页面的title打印出来

  • 打印url

将url打印

from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.maximize_window()
driver.get('http://baidu.com/')
# 打印title 和 url
print("title:",driver.title,"\n","url:",driver.current_url)
driver.quit()

浏览器操作

  • 浏览器最大化
    webdriver模块下的.maximize_window()方法

  • 设置浏览器宽、高
    .set_window_size(width, high)设置浏览器的宽和高

  • 操作浏览器的前进、后退
    #浏览器的前进 browser.forward()
    #浏览器的后退 browser.back()

  • 控制浏览器滚动条
    浏览器滚动条的控制要依靠js脚本

#将浏览器滚动条滑到最顶端
document.documentElement.scrollTop=0
#将浏览器滚动条滑到最底端
document.documentElement.scrollTop=10000
#将浏览器滚动条滑到最底端, 示例
js="var q=document.documentElement.scrollTop=10000"
driver.execute_script(js)
#其中,execute_script(script, *args),在当前窗口/框架同步执行javaScript

代码示例

# 浏览器操作
from selenium import webdriver
import time
driver = webdriver.Chrome()
#浏览器最大化
driver.maximize_window()
time.sleep(2)
# 设置浏览器宽,高
driver.set_window_size(400,300)
time.sleep(2)
# 浏览器最大化
driver.maximize_window()
driver.get('http://baidu.com/')
driver.find_element_by_id('kw').send_keys('中国')
driver.find_element_by_id('su').submit()
time.sleep(2)
#浏览器后退
driver.back()
time.sleep(2)
#浏览器前进
driver.forward()
time.sleep(2)
#操作浏览器滚动条到滚动到底端
js="var q=document.documentElement.scrollTop=10000"
driver.execute_script(js)
time.sleep(2)
# 滚动到顶端
js = 'var w = document.documentElement.scrollTop=0'
driver.execute_script(js)
time.sleep(3)
driver.quit()

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。