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

江西省建设职业培训学校网站微信加人推码35一单

江西省建设职业培训学校网站,微信加人推码35一单,网站关键词的优化在哪做,广州冼村事件1.环境准备 1.1 安装selenium pip install selenium 1.2 下载浏览器驱动,这里以Chrome为例: 点击Chrome右上角三个点--help--about Chrome查看版本 下载对应版本的驱动,这里使用华为云的镜像地址:https://repo.huaweicloud.co…

1.环境准备

1.1 安装selenium

pip install selenium

1.2 下载浏览器驱动,这里以Chrome为例:

点击Chrome右上角三个点--help--about Chrome查看版本

下载对应版本的驱动,这里使用华为云的镜像地址:https://repo.huaweicloud.com/chromedriver/

尽量保证驱动版本和浏览器版本一致,前三位保持一致一般就可以正常使用

把chromedriver.exe放在浏览器application目录下

1.3 设置环境变量

因为Pycharm创建项目时默认使用虚拟环境,所以将驱动地址添加为环境变量使用更方便。
复制chromedriver.exe的文件地址,也就是 C:\Program Files\Google\Chrome\Application,然后添加系统环境变量即可。

2.Selenium语法

from selenium import webdriver
from selenium.webdriver.common.by import Bydriver = webdriver.Chrome() #创建Chrome的实例,代码运行到这里时会打开浏览器
driver.get('https://www.baidu.com')  #访问网址,代码运行到此时会访问百度

2.1 查找元素

建议使用CSS选择器,因为它的效率最高

以上的查找函数只能查找到一个元素,如果这个元素不存在,就会报NosuchElementException,我们想一次查找到多个元素怎么办呢?只需要使用 driver.find_elements(),它的返回值是一个列表,元素出现的先后顺序对应返回值的下标。

2.2 获取元素属性

2.2.1 获取元素尺寸

        element.size

2.2.3 获取元素文本

        element.text

2.2.4 获取元素属性值

        element.get_attribute('属性名')

2.2.5 判断元素是否可见

        element.is_displayed()

2.2.6 判断元素是否可用 

        element.is_enabled()

2.2.7 判断元素是否选中

        element.is_selected()

2.3 浏览器操作

2.3.1 窗口最大化

        driver.maximize_window()

2.3.2 设置窗口大小

        deiver.set_window_size(weight , height)

2.3.3 设置窗口位置

        driver.set_window_position(x, y)

2.3.4 页面后退

        driver.back()

2.3.5 页面前进

        driver.forward()

2.3.6 页面刷新

        driver.refresh()

2.3.7 关闭浏览器

        driver.quit()

2.3.8 关闭当前页面

        driver.close()

2.3.9 获取当前页面标题

        driver.title

2.3.10 获取当前url

        driver.current_url

2.4 等待

        我们知道,代码的执行速度是很快的,如果用户的网络较慢或者页面上的元素是异步加载的导致我们查找元素时该元素还未被加载到页面中,这时候就需要等待,延时一段时间等待元素加载完成。

2.4.1 强制等待

        在代码中直接使用 sleep() 延迟代码的执行时间

2.4.2 隐式等待

        driver.implicitly_wait(timeout),设置完成后对全局有效,如果第一次查找元素未找到就会等待timeout秒后再去查找,如果还未找到则会报错。

2.4.3 显式等待

        element = WebDriverWait(driver, timeout, frequency=0.5).until(lambda x: x.find_element(By.ID, 'id值') )

等待timeout秒,如果第一次没找到那么会间隔frequency秒再去找,直到until里的函数返回值不为False。显式等待不仅可以等待元素,还可以返回找到的元素,如果超时还没找到会报错: TimeOutException

2.5 页面交互操作(下拉框,弹出框,滚动条)

2.5.1 下拉框

        方法一:直接使用元素的click()方法达到选中对应选项的效果

        方法二:使用封装的select对象

from selenium.webdriver.support.select import Select
driver = webdriver.Chrome()
select = Select(driver.find_element(By.CSS_SELECTOR ,'#cars')) #元素必须是下拉框对象
select.select_by_index(2)  #通过索引选中选项
select.select_by_value('1') #通过value属性值选中该选项
select.select_by_visible_text('奔驰')  #通过文本选中选项

2.5.2  弹出框

driver = webdriver.Chrome()alert = driver.switch_to.alert //获取了弹出框对象
message = alert.text #获取弹出框文本内容
alert.dismiss() #取消
alert.accept() #确认

2.5.3 滚动条

        selenium自身不能操作滚动条,只能通过js操作。

js = 'window.scrollTo(0,document.body.scrollHeight)'
driver.execute_script(js)

2.6 模拟鼠标操作

actions = ActionChains(driver)
actions.click(driver.find_element(By.CSS_SELECTOR,"#su")) #单击
actions.double_click(driver.find_element(By.ID,"su")) #双击
actions.perform()#可以像上面一样多步操作一起执行,也可以像下面一步一步的执行actions.context_click(driver.find_element(By.ID,"su")).perform() #右击
actions.move_to_element(driver.find_element(By.ID,"su")).perform() #悬停,hover
actions.drag_and_drop(element_source , element_target).perform() #把element_source拖动到element_target的位置

2.7 模拟键盘操作

2.7.1 键盘操作

2.7.2 常用键盘值

driver = webdriver.Chrome()
input_element = driver.find_element(By.ID, "input_element_id")# 输入内容
input_element.send_keys("Hello, World!")
# 发送组合键
input_element.send_keys(Keys.CONTROL, 'a')  # 全选
input_element.send_keys(Keys.CONTROL, 'c')  # 复制
input_element.send_keys(Keys.CONTROL, 'v')  # 粘贴

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

相关文章:

  • win7 网站配置优化方案官网电子版
  • 广州seo优化公司排名浙江seo博客
  • 全网推广的方式有哪些抖音seo推荐算法
  • 网站开发开源架构抖音营销软件
  • 自己做的网站能放到网上么青岛seo经理
  • 营业推广策划方案邵阳网站seo
  • 手机网站横向切换kol合作推广
  • 专门做超市海报的网站宁波seo咨询
  • 仿网站上的焦点图在线看seo网站
  • 做网站的业务员艾滋病阻断药有哪些
  • web集团网站建设广告投放平台有哪些
  • 大连做网站建设广告资源对接平台
  • 做网站怎么写工作日志泉州网站seo公司
  • wordpress外链站内打开搜索引擎是什么意思啊
  • 做论坛网站需要什么备案新站seo优化快速上排名
  • 动漫网站html百度网盘搜索
  • 怎么看一个网站什么语言做的宝鸡seo培训
  • 数据库网站建设公司他达拉非片
  • 英文商城网站建设搜索引擎营销的特点
  • 易优建站系统图片百度搜索
  • 网站开发不用框架web网站设计
  • 技能网站建设项目需求武汉网络推广外包公司
  • 安卓市场下载手机版优化网站排名技巧
  • 建设网站平台哪个好互联网营销外包推广
  • 工商注册企业名称查询广东seo网站推广代运营
  • 中纪委网站两学一做征文资源平台
  • java高端网站建设现在广告行业好做吗
  • wordpress 制作下载优化关键词怎么做
  • 宁波网站建设哪个公司好百度爱采购推广怎么入驻
  • 重庆市建设工程信息网特种作业企业网站seo多少钱