您的位置:首页 > 新闻 > 会展 > 海外交易平台有哪些_host域名主机服务商商务企业网站模板_滨州网站seo_网店推广费用多少钱

海外交易平台有哪些_host域名主机服务商商务企业网站模板_滨州网站seo_网店推广费用多少钱

2024/10/14 8:02:09 来源:https://blog.csdn.net/2202_76101487/article/details/142770424  浏览:    关键词:海外交易平台有哪些_host域名主机服务商商务企业网站模板_滨州网站seo_网店推广费用多少钱
海外交易平台有哪些_host域名主机服务商商务企业网站模板_滨州网站seo_网店推广费用多少钱

1. 键盘事件

1.1 键盘按键用法

        要使用键盘按键,必须引入keys 包: from selenium.webdriver.common.keys import Keys 通过send_keys()调用按键:

        send_keys(Keys.TAB) # TAB

        send_keys(Keys.ENTER) # 回车

        send_keys(Keys.SPACE) #空格键

        send_keys(Keys.ESCAPE) #回退键(Esc)

        1、回车

        // 回车webDriver.findElement(By.cssSelector("#kw")).sendKeys(Keys.ENTER);
   private static void Test14() throws InterruptedException {// 创建一个浏览器驱动WebDriver webDriver = new ChromeDriver();// 打开百度首页webDriver.get("https://www.baidu.com/");// 输入“蛋糕”webDriver.findElement(By.cssSelector("#kw")).sendKeys("沈梦瑶");sleep(3000);// 回车webDriver.findElement(By.cssSelector("#kw")).sendKeys(Keys.ENTER);sleep(3000);// 校验List<WebElement> webElements = webDriver.findElements(By.xpath("//font[text()=\"沈梦瑶\"]"));sleep(3000);int flag = 0;// 找到搜索结果,如果有蛋糕这个关键词对应的元素,测试通过// 否则测试不通过for(int i = 0; i < webElements.size(); i++) {if(webElements.get(i).getText().equals("蛋糕")) {flag = 1;break;}}if(flag == 1) {System.out.println("测试通过");} else {System.out.println("测试不通过");}}

1.2 键盘组合键用法

        send_keys(Keys.CONTROL,'a') #全选(Ctrl+A)

        send_keys(Keys.CONTROL,'c') #复制(Ctrl+C)

        send_keys(Keys.CONTROL,'x') #剪贴(Ctrl+X)

        send_keys(Keys.CONTROL,'v') #粘贴(Ctrl+V)

代码如下:

  private static void Test15() throws InterruptedException {// 创建一个浏览器驱动WebDriver webDriver = new ChromeDriver();// 打开百度首页webDriver.get("https://www.baidu.com");// 输入“蛋糕”webDriver.findElement(By.cssSelector("#kw")).sendKeys("沈梦瑶");sleep(3000);// Ctrol + AwebDriver.findElement(By.cssSelector("#kw")).sendKeys(Keys.CONTROL, "A");sleep(4000);// Ctrol + XwebDriver.findElement(By.cssSelector("#kw")).sendKeys(Keys.CONTROL, "X");sleep(4000);// Ctrol + VwebDriver.findElement(By.cssSelector("#kw")).sendKeys(Keys.CONTROL, "V");sleep(4000);// 点击百度一下按钮webDriver.findElement(By.cssSelector("#su")).click();// 校验String no_expected_url = "https://www.baidu.com/";String cur_url = webDriver.getCurrentUrl();if(cur_url.equals(no_expected_url)) {System.out.println("测试不通过");} else {System.out.println("测试通过");}}

2. 鼠标事件

        ActionChains(driver) 生成用户的行为。所有的行动都存储在actionchains 对象。通过perform()存储的行为。

        move_to_element(element) 移动鼠标到一个元素中,menu 上面已经定义了他所指向的哪一个元素

        perform() 执行所有存储的行为

        ActionChains 类

         context_click() 右击

        double_click() 双击

        drag_and_drop() 拖动

        move_to_element() 移动

2.1 右键鼠标         

代码如下:

    private static void Test16() throws InterruptedException {// 创建一个驱动WebDriver webDriver = new ChromeDriver();// 打开百度首页webDriver.get("https://www.baidu.com/");// 输入“企业微信”webDriver.findElement(By.cssSelector("#kw")).sendKeys("企业微信");webDriver.findElement(By.cssSelector("#su")).click();sleep(3000);// 鼠标操作// 先要创建一个ActionsActions actions = new Actions(webDriver);sleep(3000);// 找到目标元素(图片这个按钮)WebElement target = webDriver.findElement(By.cssSelector("#searchTag > div > div > a:nth-child(2) > span"));sleep(3000);// 鼠标挪动到这个按钮上actions.moveToElement(target).contextClick().perform();}

        想要右键鼠标且能看到效果,就要在后面的操作中加oerform语句;

2.2 切换窗口

代码如下:

        本本分代码设计到从百度首页到新闻页面之后,我们的鼠标能够顺利的在新闻页面找到输入框,这里就涉及到页面资源,我们要使用getWindowHandle()来得到当前浏览器中所有的页面资源;

 private static void Test17_v2() throws InterruptedException {// 创建一个驱动WebDriver webDriver = new ChromeDriver();webDriver.get("https://www.baidu.com/");// 点击新闻按钮webDriver.findElement(By.cssSelector("#s-top-left > a:nth-child(1)")).click();sleep(5000);// 获取到当前的窗口句柄String cur_handle = webDriver.getWindowHandle();System.out.println("当前窗口句柄等于:" + cur_handle);// 获取到浏览器当前所有的窗口句柄Set<String> all_handles = webDriver.getWindowHandles();String target = "";// 遍历当前浏览器所有的窗口句柄for (String temp : all_handles) {if(!temp.equals(cur_handle)) {webDriver.switchTo().window(temp);}}// 将窗口句柄切换到最后一个窗口句柄sleep(3000);// 找到新闻搜索框// 输入“经济新闻头条”webDriver.findElement(By.cssSelector("#ww")).sendKeys("经济头条");// 点击百度一下按钮webDriver.findElement(By.cssSelector("#s_btn_wr")).click();// 找到搜索结果// 如果搜索结果中包含经济或者头条,此时测试通过sleep(3000);List<WebElement> webElements = webDriver.findElements(By.xpath("//em[text()=\"经济\"]"));sleep(3000);int flag = 0;for(int i = 0; i < webElements.size(); i++) {if(webElements.get(i).getText().equals("经济") || webElements.get(i).getText().equals("头条")) {flag = 1;break;}}if(flag == 1) {System.out.println("测试通过");} else {System.out.println("测试不通过");}}

结果如下所示:

 2.3 截图

        通过selenium来进行截图操作:

步骤一:首先进入到中央仓库;

步骤二:搜索输入:common-io,选择下图所示:

步骤三:选择2.15.1的内容

 

<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
<dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.15.1</version>
</dependency>

将该段代码放入到pom文件;

        所以关于截图操作的代码如下所示:

         File file = ((TakesScreenshot)webDriver).getScreenshotAs(OutputType.FILE);

        我们将我们的驱动器进行类型强制转化,在进行截图之后将该数据使用文件的形式存放起来;

  private static void Test18() throws InterruptedException, IOException {// 创建驱动WebDriver webDriver = new ChromeDriver();// 打开百度首页webDriver.get("https://www.baidu.com");// 输入“刘力菲”webDriver.findElement(By.cssSelector("#kw")).sendKeys("刘力菲");// 搜索webDriver.findElement(By.cssSelector("#su")).click();sleep(3000);// 截图,把截得图放到了file临时变量//此处也是进行了强制类型转换//通过文件的形式将我们的额数据进行保存File file = ((TakesScreenshot)webDriver).getScreenshotAs(OutputType.FILE);// 把file保存到磁盘中FileUtils.copyFile(file, new File("D://截图2024_01_24.png"));webDriver.quit();}

        故此代码运行成功‘;

3.定位一组元素

3.1 框的点击

        选择所有的方选框;

代码如下所示:

 private static void Page01() {WebDriver webDriver = new ChromeDriver();webDriver.get("http://localhost:63342/Selenium2024_01_20/Page/test01.html?_ijt=crt4qqbabj9uugecnbv5fr0djh&_ij_reload=RELOAD_ON_SAVE");List<WebElement> webElements = webDriver.findElements(By.cssSelector("input"));for(int i = 0; i < webElements.size(); i++) {if(webElements.get(i).getAttribute("type").equals("checkbox")) {webElements.get(i).click();}}}

结果如下所示:

3.2 多框架页面

 private static void Page02() throws InterruptedException {WebDriver webDriver = new ChromeDriver();webDriver.get("http://localhost:63342/Selenium2024_01_20/Page/test02.html?_ijt=aumg7c4b16s14h3vt2atkcl1f4&_ij_reload=RELOAD_ON_SAVE");webDriver.switchTo().frame("f1");sleep(3000);webDriver.findElement(By.cssSelector("body > div > div > a")).click();}

        我们在面对多框架页面的时候,要在选择定位元素之前要知道该元素在那一个页面框架上,所以我们要使用switchTo.frame来进行框架的转换;

 

ps:本次的内容就到这里了,如果对你有所帮助的话就请一键三连哦!!!

封面截图来自刘姝贤的毕业公演的pv;

url:【流水线的流水账】江西几日游_哔哩哔哩_bilibili

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com