美文网首页
元素操作

元素操作

作者: xpl111 | 来源:发表于2019-04-01 15:32 被阅读0次

安装selenium包

pycharm - terminal - 执行 pip install selenium


image.png

问题:


image.png

pip版本过低
执行 python -m pip install --ugrade pip 升级pip版本
重新执行pip install selenium
升级失败。
pycharm - file -settings - project - project interpreter


image.png

点击最右边+安装


image.png

搜索-选中-点击install papackage


image.png

下载chrome driver

chrome driver和浏览器版本要一一对应

查看chrom浏览器版本

三个点-帮助-关于


image.png

找到chrome版本


image.png

下载对应的chrome driver

百度搜索chrome driver


image.png

随便选择一个版本


image.png
点击notes.txt
image.png

查看chromedriver是否可用


image.png
下载chrome driver
image.png

把chromedriver.exe添加到工程里

解压压缩包


image.png

工程中新建一个文件夹


image.png

复制chromedriver.exe到文件夹中

image.png

打开浏览器

        #确定chromedriver.exe的位置
        driver_path = os.path.join(os.path.dirname(__file__),"../../chromedriver/chromedriver.exe")
        # 打开浏览器
        driver = webdriver.Chrome(driver_path)
        driver.maximize_window()  # 最大化浏览器
        driver.set_page_load_timeout(10)#网页加载超时为10s
        driver.set_script_timeout(10)#js脚本运行超时10s
        driver.implicitly_wait(10)#元素查找超时时间10s
image.png

打开网址

driver.get("https://www.baidu.com")

退出浏览器

driver.quit()

通过xpath定位元素

username = driver.find_element_by_xpath("//input[@name='username']")

元素操作

文本输入框

#清空
username.clear()
#填值
username.send_keys("admin")

按钮

login.click()

窗口切换

iframe

切换到iframe

#定位iframe
iframe = driver.find_element_by_xpath("(//iframe[contains(@id,'vue-tinymce-')])[1]")
#切换到上边定位到的iframe
driver.switch_to.frame(iframe)

切出iframe

#切出iframe
driver.switch_to.default_content()

浏览器导航栏操作

鼠标键盘操作

其他操作

获取页面源代码

driver.page_source

下拉滚动条

js = "var q=document.documentElement.scrollTop=10000"
        driver.execute_script(js)

使用pytest.fixture控制测试流程

项目中新建一个名字为conftest.py的文件

  • session 所有用例执行之前执行
  • module 每个脚本文件执行之前执行
  • class 每个class执行之前执行
  • function 每个测试方法执行之前执行

@pytest.fixture(scope="session")
def driver():
    driver_path = os.path.join(os.path.dirname(__file__), "../chromedriver/chromedriver.exe")
    # 打开浏览器
    dr = webdriver.Chrome(driver_path)
    dr.maximize_window()  # 最大化浏览器
    dr.set_page_load_timeout(10)#网页加载超时为10s
    dr.set_script_timeout(10)#js脚本运行超时10s
    dr.implicitly_wait(10)#元素查找超时时间10s
    yield dr
    dr.quit()

三种等待

相关文章

  • jQuery常见问题

    1, jQuery 能做什么? 选择网页元素 改变结果集 元素的操作:取值和赋值 元素的操作:移动 元素的操作: ...

  • 元素操作

    设置元素的背景: 使用background-color属性设置元素背景颜色 如果不设置背景颜色,元素默认背景颜色为...

  • 元素操作

    安装selenium包 pycharm - terminal - 执行 pip install selenium ...

  • jQuery(Tab切换)

    1: jQuery 能做什么? 选择网页元素 改变结果集 元素的操作:取值和赋值 元素的操作:移动 元素的操作:复...

  • jQuery

    题目1: jQuery 能做什么? 选择网页元素 改变结果集 元素的操作:取值和赋值 元素的操作:移动 元素的操作...

  • 进阶14 jQuery 基础

    题目1: jQuery 能做什么? 选择网页元素 改变结果集 元素的操作:取值和赋值 元素的操作:移动 元素的操作...

  • jQuery基础知识

    题目1: jQuery 能做什么? 选择网页元素 改变结果集 元素的操作:取值和赋值 元素的操作:移动 元素的操作...

  • jQuery简单介绍

    题目1: jQuery 能做什么? 选择网页元素 改变结果集 元素的操作:取值和赋值 元素的操作:移动 元素的操作...

  • jQuery选择器_Dom操作_样式_事件处理_动画

    题目1: jQuery 能做什么? 选择网页元素 改变结果集 元素的操作:取值和赋值 元素的操作:移动 元素的操作...

  • jQuery选择器_Dom操作_样式_事件处理_动画

    1、jQuery 能做什么? 选择网页元素 改变结果集 元素的操作:取值和赋值 元素的操作:移动 元素的操作:复制...

网友评论

      本文标题:元素操作

      本文链接:https://www.haomeiwen.com/subject/wdevbqtx.html