selenium运行报错,需要的jar包都导入了 5C

使用selenium打开浏览器的时候报错
需要的selenium包都导入了
本地运行正常,tomcat上运行就报错
java.lang.NoClassDefFoundError: com/google/common/base/Function

5个回答

应该是你的jar有冲突

u012588094
马提斯亚胡 回复鹏割: 你要看你的包里有没有这个类,如果有,就是有两个地方都有这个类,导致找不到
接近 2 年之前 回复
nizhannizhan
鹏割 不会是冲突吧,只存在单一版本的jar包
接近 2 年之前 回复

没有把对应的google-collections.jar导入到tomcat的运行环境中

nizhannizhan
鹏割 已经导入了
接近 2 年之前 回复

![图片说明](https://img-ask.csdn.net/upload/201803/16/1521193800_121941.png)图片说明

图片说明

网上说的没有导入selenium包,都不管用啊

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
大家好,我的selenium 运行报错,能给个解决思路吗?
提示:org.openqa.selenium.WebDriverException: org.apache.http.conn.HttpHostConnectException: Connect to localhost:46579 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] failed: Connection refused: connect 前两天运行还是可以的 今天就怎么都不行了,同样的环境在另一台电脑上可以运行,不知道是哪里出问题了
2019年12月6日,运行selenium报错,selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH.
2019年12月6日,google chrome浏览器 80.0.3970.5(正式版本),下载webdriver版本对应版本没有,然后下载了对应版本的浏览器,把驱动放在python 环境中,同时放在浏览器安装 路径,同时配置了环境变量以后运行报错!
Python3.5-selenium运行截图报错
selenium.common.exceptions.WebDriverException: Message: unknown error: cannot get automation extension from unknown error: page could not be found: chrome-extension://aapnijgdinlhnhlmodcfapnahmbfebeb/_generated_background_page.html # (Session info: chrome=57.0.2987.110) # (Driver info: chromedriver=2.26.436362 (5476ec6bf7ccbada1734a0cdec7d570bb042aa30),platform=Windows× 标签最长为10个字符 运行保错 |||||| NT 6.1.7601 SP1 x86_64) 网上能找的方法都找过了,可是不知道怎么解决。 # 重装了chrome,也用了option,selenium也升级到最新版本3.31,可是运行到brower.save_screenshot("photo.png")这一句就报上面的错误 求大神们提供各种思路,谢谢
python+selenium自动化,怎么获取到网页提示的元素???
python+selenium自动化,怎么获取到网页提示的元素???
报错解决:selenium chromeOptions
报错解决:selenium.common.exceptions.WebDriverException: Message: invalid argument: unrecognized capability: chromeOptions 详情:安装selenium和谷歌驱动后,运行报错。求教怎么解决。 以下是报错信息: ``` Traceback (most recent call last): File "E:/Gordon/trackingnumber clawling1.4.py", line 88, in <module> t = Track() File "E:/Gordon/trackingnumber clawling1.4.py", line 34, in __init__ self.dr = webdriver.Chrome("C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe") File "C:\Users\Administrator\Anaconda3\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 69, in __init__ desired_capabilities=desired_capabilities) File "C:\Users\Administrator\Anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 98, in __init__ self.start_session(desired_capabilities, browser_profile) File "C:\Users\Administrator\Anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 188, in start_session response = self.execute(Command.NEW_SESSION, parameters) File "C:\Users\Administrator\Anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 256, in execute self.error_handler.check_response(response) File "C:\Users\Administrator\Anaconda3\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 194, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.WebDriverException: Message: invalid argument: unrecognized capability: chromeOptions ```
关于selenium/standalone-chrome的启动报错Unable to determine type from: <. Last 1 characters read: <
### 1. java的报错信息 ```html Exception in thread "main" org.openqa.selenium.WebDriverException: Unable to parse remote response: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <link rel="stylesheet" type="text/css" href="/assets/displayhelpservlet.css" media="all"/> <link href="/assets/favicon.ico" rel="icon" type="image/x-icon" /> <script src="/assets/jquery-3.1.1.min.js" type="text/javascript"></script> <script src="/assets/displayhelpservlet.js" type="text/javascript"></script> <script type="text/javascript"> var json = Object.freeze('{"consoleLink": "\u002fwd\u002fhub","type": "Standalone","class": "org.openqa.grid.web.servlet.DisplayHelpHandler$DisplayHelpServletConfig","version": "3.141.59"}'); </script> </head> <body> <div id="content"> <div id="help-heading"> <h1><span id="logo"></span></h1> <h2>Selenium <span class="se-type"></span>&nbsp;v.<span class="se-version"></span></h2> </div> <div id="content-body"> <p> Whoops! The URL specified routes to this help page. </p> <p> For more information about Selenium <span class="se-type"></span> please see the <a class="se-docs">docs</a> and/or visit the <a class="se-wiki">wiki</a>. <span id="console-item"> Or perhaps you are looking for the Selenium <span class="se-type"></span> <a class="se-console">console</a>. </span> </p> <p> Happy Testing! </p> </div> <div> <footer id="help-footer"> Selenium is made possible through the efforts of our open source community, contributions from these <a href="https://github.com/SeleniumHQ/selenium/blob/master/AUTHORS">people</a>, and our <a href="http://www.seleniumhq.org/sponsors/">sponsors</a>. </footer> </div> </div> </body> </html> at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:115) at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:74) at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:136) at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552) at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:213) at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:131) at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:144) at org.zhangmeng.zhi_hui_tree.ZhiHuiTreeApplication.main(ZhiHuiTreeApplication.java:21) Caused by: org.openqa.selenium.json.JsonException: Unable to determine type from: <. Last 1 characters read: < Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03' System info: host: 'zhangmengdeMacBook-Pro.local', ip: '127.0.0.1', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.15.2', java.version: '1.8.0_221' Driver info: driver.version: RemoteWebDriver at org.openqa.selenium.json.JsonInput.peek(JsonInput.java:122) at org.openqa.selenium.json.JsonTypeCoercer.lambda$null$6(JsonTypeCoercer.java:140) at org.openqa.selenium.json.JsonTypeCoercer.coerce(JsonTypeCoercer.java:126) at org.openqa.selenium.json.Json.toType(Json.java:69) at org.openqa.selenium.json.Json.toType(Json.java:55) at org.openqa.selenium.json.Json.toType(Json.java:50) at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:112) ... 7 more ``` ### 2. 运行环境 这个selenium/standalone-chrome我是拉的这个(镜像)[https://github.com/SeleniumHQ/docker-selenium] 然后就是启动镜像 ``` docker run -d -p 4444:4444 --shm-size=2g --name selenium selenium/standalone-chrome ``` 我的java代码是这样的 ```java SpringApplication.run(ZhiHuiTreeApplication.class, args); ChromeOptions chromeOptions = new ChromeOptions(); chromeOptions.addArguments("headless", "no-sandbox", "window-size=1200x800"); WebDriver webDriver = new RemoteWebDriver(new URL("http://127.0.0.1:4445"), chromeOptions); webDriver.get("https://www.baidu.com/"); Thread.sleep(2000); WebElement element = webDriver.findElement(By.xpath("//*[@id=\"tsf\"]/div[2]/div[1]/div[3]/center/input[1]")); System.out.println(element.getText()); webDriver.quit(); ``` 我的maven信息 ```java <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>3.141.59</version> </dependency> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-chrome-driver</artifactId> <version>3.141.59</version> </dependency> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-server</artifactId> <version>3.141.59</version> </dependency> ``` ### 3. 忙活半天了,不知道怎么解决,求懂的大神帮忙看看,感谢
selenium登入一直报错怎么解决
想用selenium登入,一直提示连接不上,是不是我以下代码写错了。正常是可以启动的 ``` from selenium import webdriver driver = webdriver.Firefox(executable_path = r'C:\Users\56950\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Anaconda3 (64-bit)\geckodriver.exe') driver.get("http://www.santostang.com/2018/07/04/hello-world/") ``` 按下面这段运行就会报错 ``` ```from selenium import webdriver from selenium .webdriver.firefox.firefox_binary import FirefoxBinary import time caps=webdriver.DesiredCapabilities().FIREFOX caps['marionette']=False binary=FirefoxBinary(r'C:\Users\56950\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Anaconda3 (64-bit)\geckodriver.exe') fp=webdriver.FirefoxProfile() fp.set_preference('permissions.default.img',2) fp.set_preference('Javascript.enabled',False) driver=webdriver.Firefox(firefox_binary=binary,firefox_profile=fp,capabilities=caps) driver.get('http://www.dianping.com/fuzhou/ch10/p1') drive.implicitly_wait(20) ``` ![图片说明](https://img-ask.csdn.net/upload/201908/22/1566487204_753973.png) 这该怎么办
selenium 找不到jar包 com.google.common.base.Function
创建一个java项目,启动selenium没有问题,然后创建一个web项目,代码copy到web项目 中,用.do方法启动 , 出现找不到jar包问题 求各位大牛看看
selenium使用chrome报错
File "D:\python\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response raise exception_class(message, screen, stacktrace) WebDriverException: unknown error: Runtime.evaluate threw exception: SyntaxError: Unexpected token } (Session info: chrome=71.0.3578.80) (Driver info: chromedriver=2.45.615291 (ec3682e3c9061c10f26ea9e5cdcf3c53f3f74387),platform=Windows NT 10.0.17134 x86_64) 因为在镜像网站上没看懂对应的的型号就在google的官网上下的版本,显示的是最新版但还是报错,请问怎么解决?
使用PhantomJSDriver.jar包,运行时报错
报错信息如下: 三月 14, 2019 7:46:00 下午 org.openqa.selenium.phantomjs.PhantomJSDriverService <init> 信息: executable: G:\workspace\phantomjs-2.1.1-windows\bin\phantomjs.exe 三月 14, 2019 7:46:00 下午 org.openqa.selenium.phantomjs.PhantomJSDriverService <init> 信息: port: 3127 三月 14, 2019 7:46:00 下午 org.openqa.selenium.phantomjs.PhantomJSDriverService <init> 信息: arguments: [--webdriver=3127, --webdriver-logfile=G:\workspace\DLPCenter_latest\phantomjsdriver.log] 三月 14, 2019 7:46:00 下午 org.openqa.selenium.phantomjs.PhantomJSDriverService <init> 信息: environment: {} [INFO - 2019-03-14T11:46:05.188Z] GhostDriver - Main - running on port 3127 Exception in thread "main" java.lang.NoClassDefFoundError: com/google/common/net/MediaType at org.openqa.selenium.remote.http.JsonHttpCommandCodec.encode(JsonHttpCommandCodec.java:197) at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:163) at org.openqa.selenium.phantomjs.PhantomJSCommandExecutor.execute(PhantomJSCommandExecutor.java:82) at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:572) at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:240) at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:126) at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:139) at org.openqa.selenium.phantomjs.PhantomJSDriver.<init>(PhantomJSDriver.java:115) at org.openqa.selenium.phantomjs.PhantomJSDriver.<init>(PhantomJSDriver.java:104) at com.tipray.test.EchartsDemoTest.getPhantomJSDriver(EchartsDemoTest.java:102) at com.tipray.test.EchartsDemoTest.saveSurfModelUrlToImg(EchartsDemoTest.java:53) at com.tipray.test.EchartsDemoTest.main(EchartsDemoTest.java:48) Caused by: java.lang.ClassNotFoundException: com.google.common.net.MediaType at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 12 more 仅导入<dependency> <groupId>com.codeborne</groupId> <artifactId>phantomjsdriver</artifactId> <version>1.2.1</version> </dependency>
selenium打开chrome窗口报错
Java通过selenium模拟打开chrome窗口报错 出现 "您使用的是不受支持的命令行标记:--ignore --certificate --errors。稳定性和安全性会有所下降"。 Chrome浏览器版本是 44.0.2403.157 chromedriver的版本是2.9 请问如何设置能过滤该错误?哪位同仁贴个代码看看。
求解答selenium +Java报错 搞了一天了
用的是geckodriver 0.11.1 +firefox47.0.1+ selenium版本不知道如何查看 Eclispe版本用的是4.9.0+JRE1.8 为什么报错啊? ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190708112222631.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMwNDEzNDA3,size_16,color_FFFFFF,t_70)
python + Appium运行时,报错: A session is either terminated or not started 如何解决?
![图片说明](https://img-ask.csdn.net/upload/201911/30/1575119283_374195.png) # 代码如下: from appium import webdriver import time # #appium服务监听地址 server = 'http://localhost:4723/wd/hub' # localhost为本机;4723为端口(默认);/wd/hub可以看成是规定的默认地址 # #app启动参数 desired_caps = { "platformName": "Android", # platformName:使用哪个移动操作系统平台;iOS,Android或FirefoxOS # "platformVersion":"5", "deviceName": "127.0.0.1:62001", # deviceName:使用的移动设备或模拟器 "appPackage": "com.xcy.zj", # appPackage:填写包名 "appActivity": ".ui.activity.SplashActivity", # 要从包中启动的Android活动的活动名称 "newCommandTimeout" : 6000, "unicodeKeyboard" : True, "resetKeyboard" : True, "noReset": True } # #驱动 driver = webdriver.Remote(server, desired_caps) driver.implicitly_wait(10) ##点击我的 driver.find_element_by_id("com.xcy.zj:id/act_main_my_text").click() # 报错信息如下: Traceback (most recent call last): File "D:/ceshi/Pycharm/pycharm projects/init_/exercise/test20191130.py", line 19, in <module> driver.implicitly_wait(10) File "D:\ceshi\Python\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 912, in implicitly_wait 'implicit': int(float(time_to_wait) * 1000)}) File "D:\ceshi\Python\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute self.error_handler.check_response(response) File "D:\ceshi\Python\lib\site-packages\appium\webdriver\errorhandler.py", line 29, in check_response raise wde File "D:\ceshi\Python\lib\site-packages\appium\webdriver\errorhandler.py", line 24, in check_response super(MobileErrorHandler, self).check_response(response) File "D:\ceshi\Python\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.InvalidSessionIdException: Message: A session is either terminated or not started
selenium元素已显示点击报错ElementNotInteractableException
代码如下: # 此类封装一些常用的浏览器操作 class BasePage(object): def __init__(self,driver): self.driver = driver # 退出浏览器 def quit_browser(self): self.driver.quit() # 显式等待_元素可见_XPATH def wait_explicit_located(self,x_path): try: WebDriverWait(self.driver, 5).until( EC.visibility_of_all_elements_located((By.XPATH, x_path))) logger.info(u"目标元素已显示 %s" %x_path) except TimeoutException as e: logger.error(u"元素%s显示异常 %s" % (x_path,e)) print u'元素显示异常%s' %x_path self.get_windows_image() #输入 def type(self,selector,text): el = self.find_element(selector) el.clear() try: el.send_keys(text) logger.info("Had type \' %s \' in inputBox" % text) except NameError as e: logger.error("Failed to type in input box with %s" % e) self.get_windows_image() ...... ``` ``` from ZJCH_selenium.framework.base_page import BasePage #此类是登录页面的方法 class LoginPage(BasePage): loginname_box = "xpath=>.//*[@class='login']//*[@class='lg']" pwd_box = "xpath=>.//*[@class='login']//*[@class='pwd']" verification_box = "xpath=>.//*[@class='login']//*[@name='yanzheng']" login_btn = "xpath=>.//*[@class='login']//*[@class='log log1']" #5位验证码定位 yzm1 = "xpath=>.//*[@class='rt']/span[1]" yzm2 = "xpath=>.//*[@class='rt']/span[2]" yzm3 = "xpath=>.//*[@class='rt']/span[3]" yzm4 = "xpath=>.//*[@class='rt']/span[4]" yzm5 = "xpath=>.//*[@class='rt']/span[5]" login_in = "xpath=>.//*[@class='alert_information']/b" #我知道了按钮的定位 def type_loginname(self, text): self.type(self.loginname_box, text) def type_pwd(self, text): self.type(self.pwd_box, text) def get_yzm(self): yzm_1 = self.get_text(self.yzm1) yzm_2 = self.get_text(self.yzm2) yzm_3 = self.get_text(self.yzm3) yzm_4 = self.get_text(self.yzm4) yzm_5 = self.get_text(self.yzm5) yzm = yzm_1 + yzm_2 + yzm_3 + yzm_4 + yzm_5 return yzm #输入验证码 def type_verification(self, text): self.type(self.verification_box, text) #点击登录按钮 def send_login_btn(self): self.click(self.login_btn) #点击我知道了 def send_iknow_btn(self): self.click(self.login_in) ``` ``` import unittest from ZJCH_selenium.framework.browser_engine import BrowserEngine from ZJCH_selenium.pageobjects.login_page import LoginPage #此类是测试登录功能 class test_ZJCH_Login(unittest.TestCase): def setUp(self): browse = BrowserEngine(self) self.driver = browse.open_browser(self) def tearDown(self): self.driver.quit() def test_login(self): loginpage = LoginPage(self.driver) loginpage.wait_explicit_located(".//*[@class='login']") loginpage.type_loginname('admin') #输入用户名 loginpage.type_pwd('123456') #输入密码 yzm = loginpage.get_yzm() #得到验证码 loginpage.type_verification('{}'.format(yzm)) #输入验证码 loginpage.send_login_btn() #点击登录按钮 loginpage.wait_explicit_located(".//*[@class='alert_information']/b") loginpage.send_iknow_btn() #点击确认登录 ![图片说明](https://img-ask.csdn.net/upload/201709/17/1505622234_129486.png) ** 利用unittest执行测试用例,登录页面可以正常登录,点击我知道了按钮后也正常进入系统首页,从网页上看没有任何异常,但用HTMLTestRunner缺报错,如图** ![图片说明](https://img-ask.csdn.net/upload/201709/17/1505623692_398671.png) **我测试过多次,执行到loginpage.wait_explicit_located(".//*[@class='alert_information']/b"),都没有错误,执行loginpage.send_iknow_btn() 就报错(问题是网页操作正常,可以进入系统首页,但为什么生成的测试报告缺有报错), 我试了下把loginpage.send_iknow_btn()去掉,采用 self.driver.find_element_by_xpath(".//*[@class='alert_information']/b").click() 如果采用这句代码就正常运行没有任何报错,这是为什么呢? [我知道了]这个窗口是在验证了用户登录成功后弹出的一个提示窗口,点击就可以进入系统首页的 另:我已经验证过,loginpage.wait_explicit_located(".//*[@class='alert_information']/b")这句显示等待已经成功的等待了【我知道了】窗口显示才执行的loginpage.send_iknow_btn() 到loginpage.wait_explicit_located(".//*[@class='alert_information']/b")都没有任何问题,元素已显示,点击操作也正常,但是生成到报告里就报错,哪位大神能帮我看看是为什么啊,真的想不通,我的HTMLTestRunner应该不会有问题的,其他测试用例都没什么问题** 然后我试了不采用框架,就没有任何报错,代码如下 import time from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC driver = webdriver.Firefox() driver.get("http://localhost:8089/chcgypt/login.html") driver.maximize_window() WebDriverWait(driver, 5).until( EC.visibility_of_element_located((By.XPATH, ".//*[@class='login']"))) driver.find_element_by_xpath(".//*[@class='login']//*[@class='lg']").send_keys("admin") #输入用户名 driver.find_element_by_xpath(".//*[@class='login']//*[@class='pwd']").send_keys("123456") #输入密码 #获取验证码并输入 a = driver.find_element_by_xpath(".//*[@class='rt']/span[1]").text b = driver.find_element_by_xpath(".//*[@class='rt']/span[2]").text c = driver.find_element_by_xpath(".//*[@class='rt']/span[3]").text d = driver.find_element_by_xpath(".//*[@class='rt']/span[4]").text e = driver.find_element_by_xpath(".//*[@class='rt']/span[5]").text yzm = a+b+c+d+e driver.find_element_by_xpath(".//*[@class='login']//*[@name='yanzheng']").send_keys(yzm) #点击登录按钮 driver.find_element_by_xpath(".//*[@class='login']//*[@class='log log1']").click() WebDriverWait(driver, 5).until( EC.visibility_of_all_elements_located((By.XPATH, ".//*[@class='alert_information']/b"))) #点击我知道了按钮进入系统 driver.find_element_by_xpath(".//*[@class='alert_information']/b").click() time.sleep(3) driver.current_window_handle #验证是否进入系统首页 WebDriverWait(driver,5).until(EC.presence_of_all_elements_located((By.XPATH,".//*[@class='welcomeToOurWeb']"))) try: WebDriverWait(driver, 5).until( EC.visibility_of_all_elements_located((By.XPATH, ".//*[@class='welcomeToOurWeb']"))) flag = True except TimeoutException: flag = False # 这种方式,就没有任何错误
使用robotframework-ride运行脚本时,卡住且不报错。
# 求助 各路大神指教! --- 问题描述: 跑用例时,跑到 handle alert、alert should be present、select window这类代码,就一直卡住,不会继续往下走,日志中也没有任何报错。 只有部分用例会出现这种情况,有些用例中同样有这类代码却能运行成功。 而且出现问题的这些脚本,什么都没改的情况下,偶尔也能运行成功。 --- 已试方法: 尝试过换浏览器和驱动,也在每次脚本运行前,添加了关闭浏览器驱动,都不见效。猜测还是和环境有关。 --- 问题情况截图如下:运行到handle alert时,卡了10分钟,日志也停留在handle alert之前。 ![图片说明](https://img-ask.csdn.net/upload/201912/18/1576652465_214248.png) --- ![图片说明](https://img-ask.csdn.net/upload/201912/18/1576652304_176760.png) --- ![图片说明](https://img-ask.csdn.net/upload/201912/18/1576652289_420252.png) --- 使用环境: win10 + ride1.7.3 + python3.7.0 + firefox 71.0 (64位) + geckodriver 0.26.0 (64位)
eclipse+selenium运行时报错,求高手找出原因
package ex8Test; import java.util.regex.Pattern; import java.util.concurrent.TimeUnit; import org.junit.*; import static org.junit.Assert.*; import static org.hamcrest.CoreMatchers.*; import org.openqa.selenium.*; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.support.ui.Select; public class Again { private WebDriver driver; private String baseUrl; private boolean acceptNextAlert = true; private StringBuffer verificationErrors = new StringBuffer(); @Before public void setUp() throws Exception { System.setProperty("webdriver.chrome.driver", "server/chromedriver.exe"); driver = new ChromeDriver(); baseUrl = "http://account.80166.com/"; driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); } @Test public void testAgain() throws Exception { driver.get(baseUrl + "/reg.shtml"); driver.findElement(By.id("username")).clear(); driver.findElement(By.id("username")).sendKeys("acefaddas"); driver.findElement(By.id("password")).clear(); driver.findElement(By.id("password")).sendKeys("123456l"); driver.findElement(By.id("repassword")).clear(); driver.findElement(By.id("repassword")).sendKeys("123456l"); WebElement cell=driver.findElement(By.cssSelector("#btnReg > strong")); System.out.println(cell.getText()); driver.findElement(By.cssSelector("#btnReg > strong")).click(); driver.findElement(By.id("truename")).clear(); driver.findElement(By.id("truename")).sendKeys("李为"); driver.findElement(By.id("idCard")).clear(); driver.findElement(By.id("idCard")).sendKeys("61062919940120075X"); driver.findElement(By.cssSelector("#btnFinish > strong")).click(); } @After public void tearDown() throws Exception { driver.quit(); } } org.openqa.selenium.WebDriverException: unknown error: Cannot set property 'name' of undefined (Session info: chrome=49.0.2623.110) (Driver info: chromedriver=2.21.371459 (36d3d07f660ff2bc1bf28a75d1cdabed0983e7c4),platform=Windows NT 6.1 SP1 x86_64) (WARNING: The server did not provide any stacktrace information) Command duration or timeout: 50 milliseconds Build info: version: '2.53.0', revision: '35ae25b', time: '2016-03-15 16:57:40' System info: host: 'LY-PC', ip: '169.254.238.218', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_60' Driver info: org.openqa.selenium.chrome.ChromeDriver Capabilities [{applicationCacheEnabled=false, rotatable=false, mobileEmulationEnabled=false, chrome={chromedriverVersion=2.21.371459 (36d3d07f660ff2bc1bf28a75d1cdabed0983e7c4), userDataDir=C:\Users\ly\AppData\Local\Temp\scoped_dir4400_4079}, takesHeapSnapshot=true, databaseEnabled=false, handlesAlerts=true, hasTouchScreen=false, version=49.0.2623.110, platform=XP, browserConnectionEnabled=false, nativeEvents=true, acceptSslCerts=true, locationContextEnabled=true, webStorageEnabled=true, browserName=chrome, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true}] Session ID: 91f00e400cb37698d753396691e0108f at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:422) at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206) at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158) at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:678) at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:327) at org.openqa.selenium.remote.RemoteWebElement.clear(RemoteWebElement.java:140) at ex8Test.Again.testAgain(Again.java:39) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
selenium 打开的窗口想保持不关闭或者长时间不关闭
![图片说明](https://img-ask.csdn.net/upload/202001/11/1578736638_25644.jpg) 本人用的版本是selenium/standalone-chrome-debug:3.141.59-xenon,但是如图浏览器打开后 ,隔一段时间后窗口自动关闭了, ![图片说明](https://img-ask.csdn.net/upload/202001/11/1578736713_66504.png) 如何才能保持打开的窗口不自动关闭呢,本人是docker 部署
selenium 脚本在windows下正常运行,但是在linux下的jenkins运行报错。
[2017-03-06 18:19:04] [INFO] RetryCount=0 [2017-03-06 18:19:04] [INFO] SourceDir=src/main/java/com/test/testcases [2017-03-06 18:19:04] [INFO] SourceEncoding=UTF-8 [2017-03-06 18:19:04] [INFO] 当前操作系统是:[Linux] [2017-03-06 18:19:04] [INFO] 启动测试浏览器:[chrome] [2017-03-06 18:19:04] [ERROR] 浏览器不能正常工作,请检查是不是被手动关闭或者其他原因 java.lang.IllegalStateException: The driver is not executable: /var/lib/jenkins/workspace/seltest/res/driver/chrome/linux/chromedriver at com.google.common.base.Preconditions.checkState(Preconditions.java:518) at org.openqa.selenium.remote.service.DriverService.checkExecutable(DriverService.java:127) at org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:118) at org.openqa.selenium.chrome.ChromeDriverService.access$000(ChromeDriverService.java:32) at org.openqa.selenium.chrome.ChromeDriverService$Builder.findDefaultExecutable(ChromeDriverService.java:137) at org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:302) at org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:88) at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:124) at main.java.com.test.utils.SelectBrowser.selectExplorerByName(SelectBrowser.java:60) at main.java.com.test.utils.SeleniumUtil.launchBrowser(SeleniumUtil.java:54) at main.java.com.test.base.BaseParpare.startTest(BaseParpare.java:41) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:108) at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:523) at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:224) at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:146) at org.testng.internal.TestMethodWorker.invokeBeforeClassMethods(TestMethodWorker.java:166) at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:105) at org.testng.TestRunner.privateRun(TestRunner.java:744) at org.testng.TestRunner.run(TestRunner.java:602) at org.testng.SuiteRunner.runTest(SuiteRunner.java:380) at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:375) at org.testng.SuiteRunner.privateRun(SuiteRunner.java:340) at org.testng.SuiteRunner.run(SuiteRunner.java:289) at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) at org.testng.TestNG.runSuitesSequentially(TestNG.java:1301) at org.testng.TestNG.runSuitesLocally(TestNG.java:1226) at org.testng.TestNG.runSuites(TestNG.java:1144)
selenium中设置了chrome的开发者模式,window.navigator.webdriver依然是true
今天爬网站,用selenium被识别了。昨天还是一切正常。 我的chrome设置了开发者模式,但是检查后发现window.navigator.webdriver的值还是true。 有人遇到过类似情况吗?
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
Vue + Spring Boot 项目实战(十四):用户认证方案与完善的访问拦截
本篇文章主要讲解 token、session 等用户认证方案的区别并分析常见误区,以及如何通过前后端的配合实现完善的访问拦截,为下一步权限控制的实现打下基础。
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发...
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 演示地点演示 html代码如下` music 这个年纪 七月的风 音乐 ` 然后就是css`*{ margin: 0; padding: 0; text-decoration: none; list-...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
以实际SQL入手,带你一步一步走上SQL优化之路!
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 cpp 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7 p...
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
漫话:什么是平衡(AVL)树?这应该是把AVL树讲的最好的文章了
这篇文章通过对话的形式,由浅入深带你读懂 AVL 树,看完让你保证理解 AVL 树的各种操作,如果觉得不错,别吝啬你的赞哦。 1、若它的左子树不为空,则左子树上所有的节点值都小于它的根节点值。 2、若它的右子树不为空,则右子树上所有的节点值均大于它的根节点值。 3、它的左右子树也分别可以充当为二叉查找树。 例如: 例如,我现在想要查找数值为14的节点。由于二叉查找树的特性,我们可...
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
开源并不是你认为的那些事
点击上方蓝字 关注我们开源之道导读所以 ————想要理清开源是什么?先要厘清开源不是什么,名正言顺是句中国的古代成语,概念本身的理解非常之重要。大部分生物多样性的起源,...
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1...
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员...
网易云6亿用户音乐推荐算法
网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。 将从如下两个部分展开: AI算法在音乐推荐中的应用 音乐场景下的 AI 思考 从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC...
【技巧总结】位运算装逼指南
位算法的效率有多快我就不说,不信你可以去用 10 亿个数据模拟一下,今天给大家讲一讲位运算的一些经典例子。不过,最重要的不是看懂了这些例子就好,而是要在以后多去运用位运算这些技巧,当然,采用位运算,也是可以装逼的,不信,你往下看。我会从最简单的讲起,一道比一道难度递增,不过居然是讲技巧,那么也不会太难,相信你分分钟看懂。 判断奇偶数 判断一个数是基于还是偶数,相信很多人都做过,一般的做法的代码如下...
《C++ Primer》学习笔记(六):C++模块设计——函数
专栏C++学习笔记 《C++ Primer》学习笔记/习题答案 总目录 https://blog.csdn.net/TeFuirnever/article/details/100700212 —————————————————————————————————————————————————————— 《C++ Primer》习题参考答案:第6章 - C++模块设计——函数 文章目录专栏C+...
8年经验面试官详解 Java 面试秘诀
作者 |胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。 Java程序员准备和投递简历的实...
面试官如何考察你的思维方式?
1.两种思维方式在求职面试中,经常会考察这种问题:北京有多少量特斯拉汽车?某胡同口的煎饼摊一年能卖出多少个煎饼?深圳有多少个产品经理?一辆公交车里能装下多少个乒乓球?一个正常成年人有多少根头发?这类估算问题,被称为费米问题,是以科学家费米命名的。为什么面试会问这种问题呢?这类问题能把两类人清楚地区分出来。一类是具有文科思维的人,擅长赞叹和模糊想象,它主要依靠的是人的第一反应和直觉,比如小孩...
so easy! 10行代码写个"狗屁不通"文章生成器
前几天,GitHub 有个开源项目特别火,只要输入标题就可以生成一篇长长的文章。 背后实现代码一定很复杂吧,里面一定有很多高深莫测的机器学习等复杂算法 不过,当我看了源代码之后 这程序不到50行 尽管我有多年的Python经验,但我竟然一时也没有看懂 当然啦,原作者也说了,这个代码也是在无聊中诞生的,平时撸码是不写中文变量名的, 中文...
知乎高赞:中国有什么拿得出手的开源软件产品?(整理自本人原创回答)
知乎高赞:中国有什么拿得出手的开源软件产品? 在知乎上,有个问题问“中国有什么拿得出手的开源软件产品(在 GitHub 等社区受欢迎度较好的)?” 事实上,还不少呢~ 本人于2019.7.6进行了较为全面的回答,对这些受欢迎的 Github 开源项目分类整理如下: 分布式计算、云平台相关工具类 1.SkyWalking,作者吴晟、刘浩杨 等等 仓库地址: apache/skywalking 更...
相关热词 c# 二进制截断字符串 c#实现窗体设计器 c#检测是否为微信 c# plc s1200 c#里氏转换原则 c# 主界面 c# do loop c#存为组套 模板 c# 停掉协程 c# rgb 读取图片
立即提问