记一次java-selenium自动抢红包最简单案例1

本文记录了一次使用Java Selenium实现腾讯整点抢红包自动化的案例,详细介绍了遇到的问题和解决方案,包括如何进入frame、处理类缺失问题,以及最终发现缺少POI包导致的错误。案例提供项目和包的下载链接,适合初学者入门。

记一次java-selenium自动抢红包最简单案例1

 

案例网址:http://xinyue.qq.com/act/pc/xyjf/a20170907envelopes/index.htm?ADTAG=AD_gw.home.pt.2_dyghb.20170926&atm_cl=ad&atm_pos=13256&e_code=358951

案例介绍,一个腾讯的整点抢红包自动化。每天循环自动抢早10点整和晚上八点整的红包,此案例只有一个按钮较简单,适合入门。

 

遇到的问题:

1无法定位“抢”
百度搜“selenium如何进入frame”

2.程序提示缺少类

http://www.cnblogs.com/zdfbk/p/8183167.html打包教程

导包jar出来时报错缺少类,就是缺少包嘛,问了N个前辈,问了N个群其中很多个前辈不懂装懂,差点被带歪了(讲分布式啊,还有一个前辈远程帮忙搞还得反过来教他。—。—)。微微吐槽下。

有着前辈(某公司主管)陪伴信心倍增,找的很仔细找了一下午各种小问题都处理过,最后发现问题定位在path的路径不对,我和前辈高兴坏了,终于找到了问题所在,但是想想不对啊,我H盘里确实有这个东西啊,如果是在别的电脑那可能会因为这个报错。不出所料,修改了之后还是报错。大失所望之后前辈陪着我找到了这就放弃了。

 

最后历时2天,自己解决了。(问题能否解决在于你自身的坚持。这个很重要)原因是我少导了POI包,(eclipse这个项目没导POI包都能正常运行。。)—。—|||

 项目及包链接: https://pan.baidu.com/s/1smrTpdb 密码: 6666

 

运行截图和结果

 

代码展示------大牛轻喷,代码很简陋,有很多需要优化的。请指出

 1 package TengXunHongBao;
 2 
 3 //import org.openqa.selenium.*;
 4 //import org.openqa.selenium.chrome.ChromeDriver;
 5 
 6 public class mainBody {
 7 
 8     public static void main(String[] args) {
 9         // TODO Auto-generated method stub
10         String webUrl = "http://xinyue.qq.com/act/pc/xyjf/a20170907envelopes/index.htm?ADTAG=AD_gw.home.pt.2_dyghb.20170926&atm_cl=ad&atm_pos=13256&e_code=358951";
11         //new openWeb(webUrl);
12         new GetNetworkTime(webUrl);
13 
14     }
15 
16 }
mianBody.java
 1 package TengXunHongBao;
 2 
 3 //import java.sql.Driver;
 4 
 5 //import org.openqa.selenium.*;
 6 import org.openqa.selenium.By;
 7 import org.openqa.selenium.WebDriver;
 8 import org.openqa.selenium.chrome.ChromeDriver;
 9 
10 
### Java Selenium 自动化测试教程 #### 准备工作 为了能够顺利运行Java Selenium自动化测试,需先完成一系列准备工作。这包括安装JDK、配置环境变量以及下载必要的驱动程序如ChromeDriver或GeckoDriver等[^2]。 #### 创建Maven项目并引入依赖项 创建一个新的Maven项目,在`pom.xml`文件中加入如下依赖来获取最新的Selenium版本: ```xml <dependencies> <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java --> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>4.0.0</version> </dependency> <!-- Add other dependencies as needed, such as TestNG or JUnit for test frameworks --> </dependencies> ``` #### 编写简单的自动化脚本 下面是一个基本的例子,展示了如何利用Java编写一个简单的Selenium Webdriver程序,该程序会启动Google Chrome浏览器访问特定网站,并执行简单交互操作[^3]。 ```java import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; public class SimpleTest { public static void main(String[] args){ System.setProperty("webdriver.chrome.driver", "path/to/chromedriver"); WebDriver driver = new ChromeDriver(); try{ String baseUrl = "http://www.example.com"; driver.get(baseUrl); WebElement element = driver.findElement(By.name("q")); element.sendKeys("Selenium"); element.submit(); Thread.sleep(1000); // Wait for page to load System.out.println(driver.getTitle()); } catch (Exception e){ e.printStackTrace(); } finally { driver.quit(); } } } ``` 这段代码首先设置了ChromeDriver的位置路径,接着实例化了一个WebDriver对象用于控制浏览器行为;通过调用`get()`方法加载页面地址,再使用`findElement()`寻找页面上的HTML元素并与之互动;最后打印当前页面标题并安全退出浏览器。 #### 封装工具类简化编码流程 考虑到实际工作中频繁重复的基础功能实现,可以考虑构建一套自定义的辅助函数或是继承Page Object模式设计更高级别的抽象层,从而提高代码可读性和维护效率[^4]。 例如,可以通过创建专门处理不同类型的WebElements的方法,使得每次想要与表单字段或其他UI组件打交道时不必每次都写出冗长的选择器表达式。这样不仅减少了错误发生的可能性,还让整个项目的逻辑更加直观易懂。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值