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

企业网站建设参考资料营销引流都有什么方法

企业网站建设参考资料,营销引流都有什么方法,手机编写html软件,怎么做自己的手机网站页面元素定位方法及校验 使用比较多的是通过id、class和xpath来对元素进行定位。在定位前可以现在浏览器验证是否可以找到指定的元素。这样就不用每添加一个元素定位都运行代码来检查定位方式表达式是否正确。 使用XPATH定位 在浏览器F12,找到元素,在元…

页面元素定位方法及校验

使用比较多的是通过id、class和xpath来对元素进行定位。在定位前可以现在浏览器验证是否可以找到指定的元素。这样就不用每添加一个元素定位都运行代码来检查定位方式表达式是否正确。

  • 使用XPATH定位
    在浏览器F12,找到元素,在元素区域 Ctrl+F,在输入框输入XPATH表达式。如果可以找到就说明表达式没问题。

  • 通过id定位
    浏览器F12,找到控制台,在控制台输入document.getElementById(‘具体的元素id’),然后回车,如果可以找到,也说明没问题。

  • 通过class定位
    F12浏览器,找到控制台,在控制台输入document.getElementsByClassName(‘类名’),然后回车,如果可以找到,说明可以用次方法定位。
    例如,百度首页的输入框。
    在这里插入图片描述
    通过id或class来定位,可以找到相应的元素。注意:通过getElementsByClassName()方法返回的是一个列表。

    document.getElementById(‘kw’)
    document.getElementsByClassName(‘s_ipt’)

    在控制台输入表达式,结果如下:
    在这里插入图片描述
    通过xpath定位,可以使用相对路劲也可以使用绝对路径。但一般使用相对路劲,表达式会更简洁一些。

    绝对路径:/html/body/div[1]/div[1]/div[5]/div/div/form/span[1]/input
    相对路径://i[@title=‘清空’]/…/input

    分别在元素模块进行搜索,都能找到唯一一个结果:
    在这里插入图片描述
    在这里插入图片描述

对具有属性style=“display: none;” 的元素定位

具有style=“display: none;” 属性的元素,不会显示也不会占用位置,selenium直接定位的话是定位不到的。
但可以使用显式等待,判断元素是否存在于DOM树中来查找,如下:

locator = (By.ID, '元素ID')
element = WebDriverWait(self.driver, timeout, 0.2).until(EC.presence_of_element_located(locator))

点击元素报错ElementClickInterceptedException的解决方法

通常情况下,是因为元素还未加载出来或者被遮挡从而导致元素不可点击。
但有时尽管使用显示等待,等元素可点击时再进行点击,也有概率报错:ElementClickInterceptedException: Message: element click intercepted。
通过在点击前强制等待 0.5秒,也还是有报错的几率。于是尝试在点击报错的情况下,换用js的方式来实现元素点击,目前没遇到报错。如下:

'''此处省略了其他模块的导入'''
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as ECclass basepage:def find_element(self, locator):by, value = locatorreturn self.driver.find_element(by=by, value=value)def wait_and_find_element(self, locator, timeout=30):'''等待元素可被定位后,返回元素'''try:return WebDriverWait(self.driver, timeout).until(EC.visibility_of_element_located(locator))def click_byjs_if_error(self, locator, timeout=30):""" 如果点击元素报错,则尝试换用js点击 """try:ele = WebDriverWait(self.driver, timeout).until(EC.element_to_be_clickable(locator))ele.click()except ElementClickInterceptedException:ele = self.driver.find_element(locator)self.driver.execute_script("arguments[0].click();", ele)except TimeoutException:ele = self.driver.wait_and_find_element(locator)self.driver.execute_script("arguments[0].click();", ele)

3.5.元素定位报错find_element() argument after * must be an iterable, not method

主要是因为元素定位的命名locator和函数命名重复了。将locator换个名称就好了。如下面的代码中,既存在名为fun_name的函数,也存在名为fun_name的定位元祖。将函数或者元祖更名就好了。

class page:def __init__(self):"""初始化,构造函数"""def find_element(self, locator):by, value = locatorreturn self.driver.find_element(by=by, value=value)def fun_name(self):"""函数具体内容"""fun_name = (By.XPATH, "//i[@title='清空']/../input")def fun_2(self):ele = self.driver.find_element(self.fun_name)

canvas实现的签名功能,用selenium模拟签名

先模拟鼠标按下并移动事件,触发签名。
再获取canvas的上下文,通过canvas的API来实现图片的绘制。
如下:

def sign_by_js(self, locator):"""通过js实现签名,locator为canvas的定位元组"""element = self.wait_and_find_element(locator)script = """var mouseDownEvent = new MouseEvent('mousedown', {'view': window,'bubbles': true,'cancelable': true});var mouseMoveEvent = new MouseEvent('mousemove', {'view': window,'bubbles': true,'cancelable': true,'clientX': 100, // 移动到x坐标100的位置'clientY': 50  // 移动到y坐标50的位置});arguments[0].dispatchEvent(mouseDownEvent); # 触发鼠标按下事件arguments[0].dispatchEvent(mouseMoveEvent);# 触发鼠标移动事件"""self.driver.execute_script(script, element)# 绘制路径,这里写死了,可自由调整script = """var canvas = arguments[0];var ctx = canvas.getContext("2d");  ctx.fillStyle = "black";ctx.beginPath();  // 创建一条路径ctx.moveTo(80, 80);  //起点ctx.lineTo(120, 80);  //终点ctx.stroke();  // 绘制ctx.font = "Bold 40px 幼圆"; //设置字体ctx.textAlign = "center";  //设置对其方式ctx.fillStyle = "#0000FF"; //设置字体颜色ctx.fillText("文字", 170, 80);  //绘制文本,第一个参数为具体的文字,第二、三个参数为需要绘制的位置ctx.closePath();"""self.driver.execute_script(script, element)
http://www.hengruixuexiao.com/news/51136.html

相关文章:

  • 陕西高速公路建设网站seo怎么读
  • 网站制作团队分工湖南专业的关键词优化
  • 哪个网站做新加坡劳务比较好的如何创建自己的网址
  • 网站建设教程菜鸟教程怎样建立自己网站
  • 上海跨境电商公司seo是什么意思啊
  • 设计网站页面设计百度收录最新方法
  • 案例剖析网站百度网盘私人资源链接
  • 如何建设专题网站楚雄百度推广电话
  • 罗岗网站建设网络营销的宏观环境
  • 做兼职的国外网站关键词林俊杰在线听免费
  • 学建站论坛镇江seo
  • 做医疗信息网站的域名网络优化seo薪酬
  • 沧州公司网站建设站长之家点击进入
  • 自媒体可做外链网站做网络营销推广
  • 公司要建设网站需要那些程序俄罗斯搜索引擎
  • 找潍坊做网站的淘宝流量网站
  • 澄海网站建设公司网络营销岗位
  • phpcms网站seo怎么做seo外链是什么
  • wordpress加密数据库文件长春seo公司哪家好
  • 阿里云网站怎么备案域名网站推广优化服务
  • 方城微网站开发信息流广告投放公司
  • 手机网站生成小程序扬州seo博客
  • 企业专业网站建设的必要性尚硅谷培训机构官网
  • 时间轴网页网站模板新乡网站优化公司
  • 织梦网站图片代码网络广告策划书案例
  • 中山河北建设信息网站国际网站平台有哪些
  • 做网站设计的广告公司网络营销方案策划
  • 网站建设价格明细表和网站预算现在百度推广有用吗
  • 做网站空间哪家好百度推广是做什么的
  • 两个网站开发swot分析文案写作软件app