您的位置:68399皇家赌场 > 集群主机 > Selenium(五)——webdriver 之操作页面成分

Selenium(五)——webdriver 之操作页面成分

发布时间:2019-05-03 22:06编辑:集群主机浏览(55)

    剖断是不是可知

    找到输入框成分:

    <input id = "alert" value = "alert" type = "button" onclick = "alert('您关怀了yoyoketang吗?');"/>  

    double_click(on_element=None)
    双击贰个因素

    prompt 又多了个输入框,send_keys 方法即可。
    

    ActionChains(driver).move_to_element(mouse).perform()

    move_by_offset(xoffset, yoffset)
    听他们讲当前鼠标地点偏移

    Select中的别的办法如下:

    对下拉框实行操作时首先要一定到这几个下拉框,new 二个Selcet对象,然后对它进行操作

    accept() :点击"确认"

    下载的是一个jar包,放在Java安装路线的lib文件夹下。

    始建1个浏览器对象

    四、多选项(checkbox)

    <input id = "prompt" value = "prompt" type = "button" onclick = "var name = prompt('请输入微信公众号:','yoyoketang'); document.write(name) "/>    

    minimize_window()
    调用窗口管理器特定的“最小化”操作

    from selenium import webdriver
    from selenium.webdriver.support.select import Select
    from selenium.webdriver.common.keys import Keys
    import time
    
    browser = webdriver.Chrome() # 创建浏览器对象
    
    browser.get("http://localhost:8001/") # 打开网址
    time.sleep(2)
    
    # 定位html元素
    txt1 = browser.find_element_by_tag_name('input')
    txt1.send_keys('tag_name=input') # 输入文本
    
    txt2 = browser.find_element_by_id('txt1')
    txt2.send_keys('id=txt1')
    
    txt3 = browser.find_element_by_name('txt2')
    txt3.send_keys('name=txt2')
    
    txt4 = browser.find_element_by_class_name('c1')
    txt4.send_keys('class_name=c1')
    
    txt5 = browser.find_element_by_css_selector('.c2')
    txt5.send_keys('css=.c2')
    
    txt6 = browser.find_element_by_xpath("//input[@id='txt6']")
    txt6.send_keys("xpath=//input[@id='txt6']")
    
    a1 = browser.find_element_by_link_text('bbb')
    # a1.click()
    
    txt1.clear() # 清空文本
    time.sleep(2)
    
    # 快捷键
    txt2.send_keys(Keys.CONTROL, 'a')
    time.sleep(1)
    txt2.send_keys(Keys.CONTROL, 'c')
    time.sleep(1)
    txt2.send_keys(Keys.BACKSPACE)
    time.sleep(1)
    txt2.send_keys(Keys.CONTROL, 'v')
    time.sleep(2)
    
    # 定位下拉框
    browser.find_element_by_id("sel")
    .find_element_by_xpath("//option[@value='晴']").click()
    time.sleep(1)
    browser.find_element_by_xpath("//*[@id='sel']/option[3]").click()
    
    # 用Select模块定位
    element = browser.find_element_by_id("sel")
    Select(element).select_by_index(2) # index 从0开始
    time.sleep(1)
    Select(element).select_by_value('晴')
    time.sleep(1)
    Select(element).select_by_visible_text('雨')
    
    # 单选框
    element = browser.find_element_by_id('yes')
    element.click()
    print(element.is_selected())
    
    # 复选框
    browser.find_element_by_id('chk1').click()
    
    # 判断元素是否可见
    print(browser.find_element_by_id('sp').is_displayed())
    
    # alert弹框
    browser.find_element_by_id('btn1').click()
    alertElement = browser.switch_to.alert
    print(alertElement.text) # 获取对话框文本值
    alertElement.accept() # 点击确认按钮
    
    # confirm弹框
    browser.find_element_by_id('btn2').click()
    confirmElement = browser.switch_to.alert
    print(confirmElement.text) # 获取对话框文本值
    confirmElement.dismiss() # 点击取消按钮
    
    # 执行JS
    js = "$('#sp').toggle();"
    browser.execute_script(js)
    
    # 退出
    browser.quit()
    

    select.selectByValue(“MA_ID_皇家赌场,001”);

    伍、select遭逢的坑

    submit()
    交付表单

    点击按键

    element.sendKeys(“test”);

        4.dismiss()约等于点右上角x,取消弹出框

    窗体相关办法:

    快捷键

    Alert alert = driver.switchTo().alert();

    alert.accept();

    alert.dismiss();

    alert.getText();

    url = ""

    is_selected()
    看清元素是或不是被挑选,用于选框

     

    Select select = new Select(driver.findElement(By.id("select")));

        肆.dismiss()约等于点右上角x,撤销弹出框

    get_screenshot_as_base64()

    browser.find_element_by_id('yes').is_selected()
    

    WebElement adFileUpload = driver.findElement(By.id("WAP-upload"));

    String filePath = "C:test\uploadfile\media_ads\test.jpg";

    adFileUpload.sendKeys(filePath);

    s = driver.find_element_by_id("nr")

    delete_all_cookies()     删除全部的cookie

    from selenium.webdriver.support.select import Select
    element = browser.find_element_by_id("sel")
    Select(element).select_by_index(2).click() # index 从0开始
    Select(element).select_by_value('晴')
    Select(element).select_by_visible_text('雨')
    

    依旧猎取选取项的值:

    (url的路径,直接复制浏览器展开的门路)​

    myDynamicElement = driver.find_element_by_id("myDynamicElement")

    设若未有察觉别的因素,将会抛出NoSuchElementException相当。

    bookMode.clear();

    前言   

    driver.forward() 前进

    html = browser.page_source
    

    select.getAllSelectedOptions();

    select.getFirstSelectedOption();

    from selenium.webdriver.support.select import Select

    text属性 获取弹出框的公文
    alert_text = Alert(driver).text

    Python代码:

    十、拖拉(Drag andDrop)

    皇家赌场 1

    动作链相关对鼠标的操作:
    from selenium.webdriver.common.action_chains import ActionChains

    confirm 和 alert 是均等的,只是多了个点击撤除开关的诀要。

    import org.openqa.selenium.By;

    import org.openqa.selenium.WebDriver;

    import org.openqa.selenium.WebElement;

    import org.openqa.selenium.firefox.FirefoxDriver;

    import org.openqa.selenium.interactions.Actions;

    public class DragAndDrop {

    public static void main(String[] args) {

    System.setProperty("webdriver.firefox.bin","D:\Program Files\Mozilla Firefox\firefox.exe");

    WebDriver dr = new FirefoxDriver();

    dr.get("");

    //首先new出要拖入的页面成分对象和目标对象,然后进行拖入。

    WebElementelement = dr.findElement(By.id("item1"));

    WebElementtarget = dr.findElement(By.id("drop"));

    (new Actions(dr)).dragAndDrop(element, target).perform();

    //利用循环把此外item也拖入

    String id="item" ;

    for(int i=2;i<=6;i ){

    String item = id i;

    (new Actions(dr)).dragAndDrop(dr.findElement(By.id(item)), target).perform();

    }

    from selenium import webdriver

    2.设置Python相关的正视 pip install selenium

    <html>
    <head>
    <title>SeleniumTest</title>
    <script src="Scripts/jquery-1.10.2.min.js" type="text/javascript"></script>
    
    <style type="text/css">
    tr{
    height: 40px}
    </style>
    </head>
    <body>
    <table style="margin: 200px auto;">
    <tr>
    <td><input type="text" /></td>
    </tr>
    <tr>
    <td><input type="text" id="txt1" /></td>
    </tr>
    <tr>
    <td><input type="text" id="txt2" name="txt2" /></td>
    </tr>
    <tr>
    <td><input type="text" class="c1" /></td>
    </tr>
    <tr>
    <td><input type="text" class="c2" /></td>
    </tr>
    <tr>
    <td><input type="text" id="txt6" /></td>
    </tr>
    <tr>
    <td>隐藏的标签</td>
    </tr>
    <tr>
    <td>
    <a href="javascript:;">aaa</a>
    <a href="https://www.baidu.com" target="_blank">bbb</a>
    <a href="https://baike.baidu.com/" target="_blank">ccc</a>
    </td>
    </tr>
    <tr>
    <td>
    <select id="sel">
    <option value="无"></option>
    <option value="晴">晴</option>
    <option value="阴">阴</option>
    <option value="雨">雨</option>
    <option value="多云">多云</option>
    </select>
    </td>
    </tr>
    <tr>
    <td>
    <input type="radio" id="yes" />是
    <input type="radio" id="no" />否
    </td>
    </tr>
    <tr>
    <td>
    <input type="checkbox" id="chk1" name="chk" />语文
    <input type="checkbox" id="chk2" name="chk" />数学
    <input type="checkbox" id="chk3" name="chk" />英语
    </td>
    </tr>
    <tr>
    <td>
    <input type="button" id="btn1" value="警告消息框" onclick="alert('警告警告')" />
    <input type="button" id="btn2" value="确认消息框" onclick="confirm('是否确认')" />
    <input type="button" id="btn3" value="提示消息框" onclick="prompt('提示注意')" />
    <input type="button" id="btn4" value="显示" onclick="$('#sp').toggle();" />
    </td>
    </tr>
    </table>
    </body>
    </html>
    

    将输入框清空:

    time.sleep(5)

    value_of_css_property(property_name)
    获取CSS属性

    WebDriver在将调节权重返给测试脚本此前,会直接等候到页面完全加载完成,但若是页面使用了多数AJAX,WebDriver大概不能够正确判定页面是不是完全加载。

    approve.submit();//只适合于表单的交给

    不是独具的弹出框都叫alert,在使用alert方法前,先要识别出到底是或不是alert。先认清楚alert长什么样子,下次遇上了,就能够用对应方法解决。

    actions = ActionChains(driver)
    actions.move_to_element(menu) 鼠标移动到成分
    actions.click(hidden_submenu) 鼠标点击(点击前能够无需活动到成分)
    actions.perform() 实施以上操作  使用动作链操作最终都必须挑选施行才生效

    认清是或不是选中

    9、上传文件 (Upload File)

    driver = webdriver.Firefox()

    key_up(value, element=None)
    自由3个修饰符的键

    element.is_displayed()

    点击开关:

    send_keys() :输入文本值 --只限于prompt,在alert和confirm上向来不输入框

    perform()
    实行全部存储操作

    1、alert弹框

    saveButton.isEnabled ();

    alertconfirmprompt弹出框操作首要方法有:

    deselect_by_visible_text(text)
    <option value=”foo”>Bar</option>
    经过text来撤除勾选

    输入文本

    三、单选项(Radio Button)

     

     

    browser.quit()
    

    五、按钮(button)

    皇家赌场 2

    send_keys(*value)
    宪章输入成分 使用此措施发送轻便的要紧事件或填写表单字段

     

    WebElement approve = driver.findElement(By.id("approve"));

    approve.click();

    driver.find_element_by_link_text("找出设置").click()

    driver.get("") 进入某一网页

    3、prompt弹框

    忘却是在哪篇小说看到的了,整理过来的,不能够放出处了。

    (url的路径,直接复制浏览器展开的路径)

    select_by_index(index)
    由此索引接纳

    改成:alertElement = browser.switch_to.alert

    找到下拉挑选框的要素:

     

    selenium.webdriver.support.expected_conditions.element_to_be_selected(element)
    看清成分是或不是被挑选

    定位一个元素

    含义

    find_element_by_tag_name

    通过标签定位

    find_element_by_id

    通过元素id定位

    find_element_by_name

    通过元素name定位

    find_element_by_class_name

    通过类名进行定位

    find_element_by_css_selector

    通过css选择器进行定位

    find_element_by_xpath

    通过xpath表达式定位(xpath和xml中的类似)

    find_element_by_link_text

    通过完整超链接文本定位(不是通过超链接的地址,而是超链接上面的文字描述)

    find_element_by_partial_link_text

    通过部分链接定位

    不选用相应的采纳项:

    dismiss() :点击"裁撤"可能叉掉对话框

    下拉页面(相当于滑动下拉框到底层)
    elem.send_keys(Keys.PageDown)

    element.send_keys("selenium")
    

    开采二个新的页面:

        </head>  

    elem = driver.find_element_by_id("btn_id")

    browser.find_element_by_id("sel").find_element_by_xpath("//option[@value='晴']").click()
    

    element.clear();

    <body>  

    driver.execute_script("window.scrollTo(arguments[0], arguments[1]);",50,500) 传参使用在这之中的arguments列表

    为了测试,大家新建三个htnl网页

    }

    # 获取alert弹框

    webdriver.Firefox
    webdriver.FirefoxProfile
    webdriver.Chrome
    webdriver.ChromeOptions
    webdriver.Ie
    webdriver.Opera
    webdriver.PhantomJS
    webdriver.Remote
    webdriver.DesiredCapabilities
    webdriver.ActionChains
    webdriver.TouchActions
    webdriver.Proxy

    deselect_all() # 取消所有选项
    deselect_by_index() # 取消对应 index 选项
    deselect_by_value() # 取消对应 value 选项
    deselect_by_visible_text() # 取消对应文本选项
    

    上传文件的要素操作:

    driver.implicitly_wait(20)

     

    2、confirm弹框

    八、表单(Form)

    Select(s).select_by_visible_text("每页显示20条")

    driver.name 重临低层调用浏览器名字

    定位HTML元素

    经过历史导航重返原页面:

        三.accept()点击确认开关

    当没有ID和name属性时,使用xpath
    当知道<a>text</a>标签的text时 使用linkText

    执行JS

    相当于右边是可供选拔项,选择后运动到左侧的框中,反之亦然。

    s = driver.find_element_by_id("nr")

    context_click(on_element=None)
    在要素上推行上下文单击(右键单击)

    某个成分设置了display:none,那时候要是直白操作那种隐形的元素,会报错:element not visible。

    Select lang = new Select(driver.findElement(By.id("languages")));

    lang.selectByVisibleText(“English”);

    WebElement addLanguage =driver.findElement(By.id("addButton"));

    addLanguage.click();

    import time

    screenshot(filename)
    将目前成分的荧屏截图保存到PNG图像文件中。重临
    假若有其余的IOError,则赶回True。在文书名中央银行使完整路线
    element.screenshot(‘/Screenshots/foo.png’)

    就是固定HTML成分,没啥花样。

    select.selectByVisibleText(“mediaAgencyA”);

    一、认识alertconfirmprompt

    set_script_timeout(time_to_wait)
    设置脚本在3个日子内等待的年月,在抛出荒唐在此之前实践executeasyncscript调用

    browser.find_element_by_xpath("//*[@id='sel']/option[3]").click()
    

    WebElement saveButton = driver.findElement(By.id("save"));

    <html>  

    drag_and_drop_by_offset(source, xoffset, yoffset)
    在源成分上保存鼠标左键,
    然后移动到目的偏移量并释放鼠标按键

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

    清空有个别单选项:

        三.消除办法:在select操作后,做个click()点击操作

    close()
    关门当前窗口

    退出

    WebElement element = driver.findElement(By.id("passwd-id"));

        ①.在操作百度设置里面,点击“保存设置”开关时,alert弹出框未有弹出来。(Ie浏览器是能够的)

    deselect_all()
    免除全数入选的条目款项 撤消勾选

    本文由68399皇家赌场发布于集群主机,转载请注明出处:Selenium(五)——webdriver 之操作页面成分

    关键词: 68399皇家赌场 测试 selenium