当前位置: 首页 > news >正文

纯css网站百度seo优化价格

纯css网站,百度seo优化价格,网页设计课程总结500字,华秋电子商城目录 0. 上节回顾 1. 内置的等待条件 2. 元素属性 1. Python对象属性 2. HTML元素属性 3. 元素的交互 1. 输入框 2. 按钮 3. 单选框和复选框 0. 上节回顾 DEBUG的方式:JS断点 Python断点编程语言提供的等待方式:sleepselenium提供的等待方式&…

目录

0. 上节回顾

1. 内置的等待条件

2. 元素属性

1. Python对象属性

2. HTML元素属性

3. 元素的交互

1. 输入框

2. 按钮

3. 单选框和复选框

0. 上节回顾

  • DEBUG的方式:JS断点 +Python断点
  • 编程语言提供的等待方式:sleep
  • selenium提供的等待方式:
  1. 隐式等待
  2. 显式等待
  3. 流畅等待
  • 等待条件的要求
  1. 是一个函数
  2. 接收一个参数:webdriver对象的实例
  3. 返回一个布尔值
  4. 尽量不要出现异常

1. 内置的等待条件

selenium 内置了一些判断函数,可用在需要的时候,判断页面是否就绪

例如:在 http://118.24.147.95:8086/flash.html 如果要点击按钮,等待条件有2个:

  • 元素存在
  • 元素可用
with get_webdriver() as driver:driver.get("http://118.24.147.95:8086/flash.html")def f(_):# 1. 元素存在ele = driver.find_element(By.XPATH, '//*[@id="content"]/input')if ele.is_enabled():  # 2.元素可用return Trueelse:return FalseWebDriverWait(driver, 10).until(f)ele = driver.find_element(By.XPATH, '//*[@id="content"]/input')ele.click()

使用预期条件:可用免去函数的定义过程

  • element_to_be_clickable :判断元素可见,并且可点击
  • alert_is_present: 判断出现了alert 弹窗
with get_webdriver() as driver:driver.get("http://118.24.147.95:8086/flash.html")ele = WebDriverWait(driver, 10).until(element_to_be_clickable((By.XPATH, '//*[@id="content"]/input')))ele.click()
with get_webdriver() as driver:driver.get("http://118.24.147.95:8086/delay_alert.html")ele = WebDriverWait(driver, 10).until(alert_is_present())  # 放入 等待条件ele.accept()  # 对弹窗,点击【确定】

所有的内置等待条件,需要加括号调用,

调用之后,返回一个函数,用这个函数,进行等待

2. 元素属性

元素的属性和交互,主要对WebElement对象的交互

  • 获取网页元素的信息:方法WebElement对象的属性
  • 对网页元素进行交互: 调用WebElement对象的方法

1. Python对象属性

with get_webdriver() as driver:
driver.get("https://www.baidu.com/")
# ele 是 WebElement 对象,代表网页中的一个元素
ele = driver.find_element(By.XPATH, '//*[@id="kw"]')
ele_keys = [
"id", # 对象的ID
"tag_name", # 元素的标签
"location", # 在页面中的位置(x,y)坐标
"size", # 元素大小
"rect", # 位置 + 大小
"parent", # WebDriver 对象
]
for key in ele_keys:
print(key)
print(getattr(ele, key))
print("-" * 20)

2. HTML元素属性

<input id="kw" name="wd" class="s_ipt" value="" maxlength="255"
autocomplete="off">
with get_webdriver() as driver:driver.get("https://www.baidu.com/")ele = driver.find_element(By.XPATH, '//*[@id="kw"]')att_keys = ["id","name","class","value","maxlength","autocomplete",]for att in att_keys:print(att+":"+ele.get_attribute(att))print("-" * 20)

问题: 如何获取元素的HTML源码?

print(ele.get_attribute('outerHTML')) # 通过特殊属性,获取源码

如何获取浏览器的HTML源码?

print(driver.page_source) # 获取网页源码

3. 元素的交互

不同的元素,它支持的交互方式可能是不一样的,所以要区别对待

1. 输入框

输入框有2中实现方式

<input value="input标签实现的输入框">
<textarea>textarea标签实现的输入框</textarea>

 

输入的交互方法:

  • ele.clear() # 清除内容
  • ele.send_keys("new content") # 输入内容
  • ele.is_displayed()) # 是否显示
  • ele.is_enabled()) # 是否可用
with get_webdriver() as driver:driver.get("file:///F:/pythonWorkspace/UI_P39_Selenium4/index.html")ele = driver.find_element(By.XPATH, "//input")ele.clear()  # 清除内容ele.send_keys("new content")  # 输入内容ele.is_displayed()  # 是否显示ele.is_enabled()  # 是否可用ele.screenshot("a.png")  # 对元素进行截图

2. 按钮

按钮有多种实现方式

 

进行隐藏一下

<a href="javascript:;" onclick="btn_on_click(this)">a标签实现的按钮</a>
<hr />
<input type="button" onclick="btn_on_click(this)" value="input标签实现的按钮"/>
<hr />
<button onclick="btn_on_click(this)" >button标签实现的按钮</button>
<script>
function btn_on_click(event){
console.log(event);
alert("你点到我了!");
}
</script>

按钮的交互方法:

  • ele.click() # 鼠标 左键 单击
  • ele.is_displayed()) # 是否显示
  • ele.is_enabled()) # 是否可用
<a href="javascript:;" onclick="btn_on_click(this)">a标签实现的按钮</a>
<hr />
<input type="button" onclick="btn_on_click(this)" value="input标签实现的按钮" hidden=true/>
<hr />
<button onclick="btn_on_click(this)" disabled=true >button标签实现的按钮
</button>
<script>
function btn_on_click(event){
console.log(event);
alert("你点到我了!");
}
</script>
with get_webdriver() as driver:driver.get("file:///F:/pythonWorkspace/UI_P39_Selenium4/index2.html")for tag_name in ["a", "input", "button"]:try:ele = driver.find_element(By.XPATH, f"//{tag_name}")print("是否可见:", ele.is_displayed())print("是否可用:", ele.is_enabled())ele.click()  # 点击按钮# 按钮被禁用的时候,click 没有报错,但其实也是点击失败driver.switch_to.alert.accept()  # 处理弹窗except Exception as e:print(e)print("交互失败")print("-" * 20)

在selenium 中使用JS进行元素点击

  • ele.click() # selenium 提供 点击按钮
  • driver.execute_script("return arguments[0].click()", ele) # js 进行点击

对于被遮挡的元素,selenium的点击可能会失败,这时候换成js代码

如点一下 个人中心 遮挡 登录按钮 

with get_webdriver() as driver:driver.get("http://101.34.221.219:8010/")# 出现遮挡driver.find_element(By.XPATH, "/html/body/div[2]/div/ul[2]/div[1]/div/a").click()# 点击登录按钮ele = driver.find_element(By.XPATH, "/html/body/div[2]/div/ul[1]/div/div/a[1]")# ele.click() # 预期失败driver.execute_script("return arguments[0].click()", ele)  # 通过JS实现点击

不能点击的场景如下:

手动不能点击

selenium不能点击

js代码不能点击

底层:控制鼠标的移动和点击

 如:上图 手动能点击 但是页面被遮挡 selenium不能点击

如上图:js代码不能点击

selenium点击元素的原理:

  • 定位元素
  • 找到元素 x,y坐标
  • 把鼠标移动 x,y坐标中心 (可用手动调整坐标,模拟真人操作)
  • 按下鼠标

3. 单选框和复选框

单选框和复选框都是input标签实现的,只是type不同

 

<!--多选框 -->
<input type="checkbox" name="check_1" value="1"/>
<br>
<input type="checkbox" name="check_1" value="2"/>
<hr/>
<!--单选框 -->
<input type="radio" name="check_2"/>
<input type="radio" name="check_2" />

单选复选框的交互方法:

  • ele.click() # 鼠标 左键 单击
  • ele.is_displayed()) # 是否显示
  • ele.is_enabled()) # 是否可用
  • ele.is_selected() # 本元素是否被选中
with get_webdriver() as driver:driver.get("file:///F:/pythonWorkspace/UI_P39_Selenium4/index3.html")ele = driver.find_element(By.XPATH, "/html/body/input[1]")print("是否选中:", ele.is_selected())ele.click()print("是否选中:", ele.is_selected())

对于单选复选框来说,click是【切换状态】,如之前是选中,点击之后反而是没选中 在点击之前,建议 先判断状态

http://www.hkea.cn/news/365611/

相关文章:

  • 企业网站开发方案免费建立一个网站
  • 网站引导页面制作的四个任务名称推广引流的10个渠道
  • 南宁网站建设制作后台网站关键词优化价格
  • 微信小程序商城制作公司宁波seo推广服务
  • 响应式购物网站公司seo是什么意思
  • 360未经证实的网站如何做电商运营方案
  • 网站建设类公司排名营销方案范文100例
  • 郑州网站设计 郑州网站开发网络优化有前途吗
  • 黑河做网站首页关键词排名优化
  • 网站二级域名怎么解析公司网络搭建
  • wordpress做网店win10优化大师是官方的吗
  • 弄个做网站公司产品宣传
  • 商品房建设信息网站googleplay商店
  • 菏泽 网站建设优化工具箱
  • 网站建设找哪家公司百度搜索热度
  • 网页设计论文引言北海百度seo
  • 网站空间哪家做的好网络营销的常用工具
  • 网站开发具体问题优化营商环境
  • wordpress4.5 火车头廊坊seo培训
  • 怎么做多个网站单点登录艺考培训
  • 网站怎么做双语种seo关键词如何设置
  • 用java做的游戏下载网站有哪些内容成都网络推广优化
  • 慈溪市网站建设google官网
  • 网站建设计划seo网站排名优化软件是什么
  • 大连网站建设谁家好郴州网站定制
  • 网站建设背景怎么写一个企业该如何进行网络营销
  • 为女朋友做的表白网站百度大数据分析工具
  • 上海高端网站建设服务公seo推广公司
  • 找人合伙做网站平台仿站定制模板建站
  • 深圳市网站建设科技公司腾讯网网站网址