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 环境中,同时放在浏览器安装 路径,同时配置了环境变量以后运行报错!

2个回答

你运行的python解释器与你安装的这个selenium包是否是对应的,webdriver是selenium里的一个模块。
看起来你的问题可能是解释器与安装的包不对应。最好把你的代码贴出来看看,这样可以分析你哪里出的错。

1、首先要排查驱动与浏览器版本是否一致,2、如果一致,驱动是否与selenium在同一个安装目录,如果没有需要将驱动与selenium放在同一个安装目录下,或者配置下电脑的全局变量

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
selenium.common.exceptions.ElementClickInterceptedException解决办法
目标是定位提交元素,并点击,定位元素时,写的Xpath,可以精确指向元素,但无法定位 ![图片说明](https://img-ask.csdn.net/upload/201903/27/1553679098_701249.jpg) 1、原本的代码是 driver.find_element_by_xpath("html/body/div[12]/div[2]/div[1]/div[1]/div[3]/div[1]/button[2]/span").click() 报错信息如下: File "D:\Program Files\python\lib\site-packages\selenium-3.13.0-py3.7.egg\selenium\webdriver\remote\webelement.py", line 628, in _execute return self._parent.execute(command, params) File "D:\Program Files\python\lib\site-packages\selenium-3.13.0-py3.7.egg\selenium\webdriver\remote\webdriver.py", line 320, in execute self.error_handler.check_response(response) File "D:\Program Files\python\lib\site-packages\selenium-3.13.0-py3.7.egg\selenium\webdriver\remote\errorhandler.py", line 242, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.ElementClickInterceptedException: Message: Element <span> is not clickable at point (1174,526) because another element <li class="ivu-dropdown-item"> obscures it 改成如下代码后即可定位并点击成功: tijiao=driver.find_element_by_xpath("html/body/div[12]/div[2]/div[1]/div[1]/div[3]/div[1]/button[2]/span") driver.execute_script("arguments[0].click();",tijiao)
在Selenium IED里面导出的.py文件在pycharm运行浏览器调取不了
``` # -*- coding: utf-8 -*- # Generated by Selenium IDE import pytest import time import json from selenium import webdriver #导入驱动, from selenium.webdriver.common.by import By from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.support import expected_conditions from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.common.keys import Keys time.sleep(5) class TestDenglu(): def setup_method(self, method): self.driver = webdriver.Chrome() self.vars = {} def teardown_method(self, method): self.driver.quit() time.sleep(5) def test_denglu(self): # Test name: denglu # Step # | name | target | value | comment # 1 | open | / | | self.driver.get("http://192.168.1.118:8083/") # 2 | setWindowSize | 945x1140 | | self.driver.set_window_size(945, 1140) time.sleep(5) # 3 | click | css=.login | | self.driver.find_element(By.CSS_SELECTOR, ".login").click() # 4 | click | css=.login-input:nth-child(3) > input | | self.driver.find_element(By.CSS_SELECTOR, ".login-input:nth-child(3) > input").click() # 5 | click | css=.login | | self.driver.find_element(By.CSS_SELECTOR, ".login").click() # 6 | click | css=.login-input:nth-child(3) > input | | self.driver.find_element(By.CSS_SELECTOR, ".login-input:nth-child(3) > input").click() # 7 | click | css=.login-button | | self.driver.find_element(By.CSS_SELECTOR, ".login-button").click() ```![图片说明](https://img-ask.csdn.net/upload/201909/27/1569567359_21132.png) 在Selenium IED里面导出的.py文件在pycharm运行浏览器调取不了
使用的selenium是2.53.6以及火狐47.0.2自动化能打开火狐浏览器但是打不开网址???
![图片说明](https://img-ask.csdn.net/upload/201909/30/1569840843_200971.png)![图片说明](https://img-ask.csdn.net/upload/201909/30/1569840851_330164.png)![图片说明](https://img-ask.csdn.net/upload/201909/30/1569840859_765993.png) 下方报错信息:selenium.common.exceptions.WebDriverException: Message: The browser appears to have exited before we could connect. If you specified a log_file in the FirefoxBinary constructor, check it for details.
pycharm从selenium导入chrome.opthions失败
```from selenium import webdriver from selenium.common.exceptions import TimeoutException from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.chrome.options import Options ``` 这些导入里面唯独最后一句报错,实际运行中chromedriver运行正常,但是想调无界面的时候options一直导入无效。 ![图片说明](https://img-ask.csdn.net/upload/201903/20/1553088742_856489.png) 自学的小萌新求大佬解答。
selenium运行报错,需要的jar包都导入了
使用selenium打开浏览器的时候报错 需要的selenium包都导入了 本地运行正常,tomcat上运行就报错 java.lang.NoClassDefFoundError: com/google/common/base/Function
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")这一句就报上面的错误 求大神们提供各种思路,谢谢
在VS中运行selenium脚本,selenium.click(css=..)出错
测试函数: [TestMethod] public void Test() { ISelenium selenium = new DefaultSelenium("127.0.0.1", 4444, "*iexplore", "http://www.taobao.com"); selenium.Start(); selenium.Open("http://www.taobao.com"); selenium.Click("css=li.J_SearchTab.shop-search-tab"); selenium.Type("id=q", "考拉一家"); selenium.Click("css=button.btn-search"); selenium.WaitForPageToLoad("30000"); Assert.IsTrue(selenium.IsElementPresent("//ul[@id='list-container']/li/ul/li[2]/h4/a/span[2]")); selenium.Click("//ul[@id='list-container']/li/ul/li[2]/h4/a/span[2]"); selenium.Close(); selenium.Stop(); } 其中 selenium.Click("css=li.J_SearchTab.shop-search-tab");语句报错:用户代码未处理 Selenium.SeleniumException Message=ERROR: Element css=li.J_SearchTab.shop-search-tab not found
cmd中运行from selenium import webdriver webdriver.Charome()报错
D:\>python Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 22:22:05) [MSC v.1916 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> from selenium import webdriver webdriver.Charome() File "<stdin>", line 1 from selenium import webdriver webdriver.Charome() ^ SyntaxError: invalid syntax
报错解决: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 ```
使用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元素已显示点击却报错ElementNotInterac...
代码如下: # 此类封装一些常用的浏览器操作 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应该不会有问题的,其他测试用例都没什么问题**
关于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在火狐浏览器中获取cookie信息报错,请大神解答一下
使用selenium在火狐浏览器下抓取登录的cookie时,启动后报这样的错误,请大神指教一下: Exception in thread "main" org.openqa.selenium.remote.UnreachableBrowserException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure. Build info: version: '3.4.0', revision: 'unknown', time: 'unknown' System info: host: 'USER-20140801HG', ip: '192.168.1.111', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_11' Driver info: driver.version: FirefoxDriver at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:658) at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:250) at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:236) at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:137) at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:191) at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:108) at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:121) at ot.TmCookie.getSignCookie(TmCookie.java:19) at ot.TmCookie.main(TmCookie.java:67) Caused by: java.lang.NullPointerException at org.openqa.selenium.remote.service.DriverService.waitUntilAvailable(DriverService.java:192) at org.openqa.selenium.firefox.XpiDriverService.start(XpiDriverService.java:94) at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:78) at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:637) ... 8 more
请教大神们一个selenium+java报错问题。。。
JDK: 1.7.0_79 selenium 2.53.0 firefox 47.0 现在如下报错,什么原因? Exception in thread "main" org.openqa.selenium.remote.UnreachableBrowserException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure. Build info: version: '2.53.0', revision: '35ae25b', time: '2016-03-15 16:57:40' System info: host: 'PC201608301942', ip: '192.168.0.64', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.7.0_79' Driver info: driver.version: FirefoxDriver at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:665) at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:249) at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:131) at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:218) at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:211) at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:207) at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:120) at Test.main(Test.java:8) Caused by: java.net.SocketException: Connection reset at java.net.SocketInputStream.read(SocketInputStream.java:196) at java.net.SocketInputStream.read(SocketInputStream.java:122) at org.apache.http.impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:139) at org.apache.http.impl.io.SessionInputBufferImpl.fillBuffer(SessionInputBufferImpl.java:155) at org.apache.http.impl.io.SessionInputBufferImpl.readLine(SessionInputBufferImpl.java:284) at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:140) at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:57) at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:261) at org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:165) at org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:167) at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:272) at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:124) at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:271) at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184) at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88) at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110) at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:71) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:55) at org.openqa.selenium.remote.internal.ApacheHttpClient.fallBackExecute(ApacheHttpClient.java:144) at org.openqa.selenium.remote.internal.ApacheHttpClient.execute(ApacheHttpClient.java:90) at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:142) at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.execute(NewProfileExtensionConnection.java:160) at org.openqa.selenium.firefox.FirefoxDriver$LazyCommandExecutor.execute(FirefoxDriver.java:380) at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:644) ... 7 more
selenium-webdriver打开Firefox报错
Exception in thread "main" org.openqa.selenium.remote.UnreachableBrowserException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure. Build info: version: '2.53.1', revision: 'a36b8b1', time: '2016-06-30 17:32:46' System info: host: 'XP6Z7D38D87X', ip: '172.16.7.14', os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.8.0_91' Driver info: driver.version: FirefoxDriver at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:665) at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:249) at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:131) at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:218) at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:211) at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:207) at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:120) at webdriverdemo.main(webdriverdemo.java:14) Caused by: java.net.SocketException: Connection reset at java.net.SocketInputStream.read(Unknown Source) at java.net.SocketInputStream.read(Unknown Source) at org.apache.http.impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:139) at org.apache.http.impl.io.SessionInputBufferImpl.fillBuffer(SessionInputBufferImpl.java:155) at org.apache.http.impl.io.SessionInputBufferImpl.readLine(SessionInputBufferImpl.java:284) at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:140) at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:57) at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:261) at org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:165) at org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:167) at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:272) at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:124) at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:271) at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184) at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88) at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110) at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:71) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:55) at org.openqa.selenium.remote.internal.ApacheHttpClient.fallBackExecute(ApacheHttpClient.java:144) at org.openqa.selenium.remote.internal.ApacheHttpClient.execute(ApacheHttpClient.java:90) at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:142) at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.execute(NewProfileExtensionConnection.java:160) at org.openqa.selenium.firefox.FirefoxDriver$LazyCommandExecutor.execute(FirefoxDriver.java:380) at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:644) ... 7 more
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)
linux下有人遇到过这个问题没?selenium.common.exceptions.WebDriverException: Message: invalid argument: can't kill an exited process?
1,装的是最新版的Firefox和驱动,但是运行就会出这个错,网上有人说是版本问题,但是我是最新的 Firefox和geckodriver,不应该会出现驱动的浏览器不匹配的问题。 2,geckodriver.log中有XPCOMGlueLoad error for file /Vir/agency_spider/bin/firefox/libmozgtk.so: libgtk-3.so.0: cannot open shared object file: No such file or directory Couldn't load XPCOM 但是去yum install libgtk-3.so.0显示没有这个包 ,gtk3也是没有包,就很奇怪,问问各位大佬怎么解决?
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) 这该怎么办
selenium2.33+chrome v60版本,自动打开chrome时按F12报错
在selenium2.33版本+chrome 60版本情况下,junit启动项目,自动打开chrome浏览器,按F12进入浏览器控制台时。eclipse控制台报错,浏览器F12控制台秒退。 错误代码如下 ``` Starting ChromeDriver 2.33.506120 (e3e53437346286c0bc2d2dc9aa4915ba81d9023f) on port 6418 Only local connections are allowed. 2017/10/16 16:18:09:867 ERROR ScriptFXDJ001:139 - Can not find element: org.openqa.selenium.WebDriverException: disconnected: received Inspector.detached event (Session info: chrome=60.0.3112.113) (Driver info: chromedriver=2.33.506120 (e3e53437346286c0bc2d2dc9aa4915ba81d9023f),platform=Windows NT 10.0.14393 x86_64) (WARNING: The server did not provide any stacktrace information) Command duration or timeout: 2.82 seconds Build info: version: '2.53.1', revision: 'a36b8b1', time: '2016-06-30 17:37:03' System info: host: 'DESKTOP-8TFCAAQ', ip: '10.2.114.205', os.name: 'Windows 10', os.arch: 'x86', os.version: '10.0', java.version: '1.8.0_144' Driver info: org.openqa.selenium.chrome.ChromeDriver Capabilities [{applicationCacheEnabled=false, rotatable=false, mobileEmulationEnabled=false, networkConnectionEnabled=false, chrome={chromedriverVersion=2.33.506120 (e3e53437346286c0bc2d2dc9aa4915ba81d9023f), userDataDir=C:\Users\ZHANGQ~1\AppData\Local\Temp\scoped_dir3148_31908}, takesHeapSnapshot=true, pageLoadStrategy=normal, databaseEnabled=false, handlesAlerts=true, hasTouchScreen=false, version=60.0.3112.113, platform=XP, browserConnectionEnabled=false, nativeEvents=true, acceptSslCerts=true, locationContextEnabled=true, webStorageEnabled=true, browserName=chrome, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true, setWindowRect=true, unexpectedAlertBehaviour=}] Session ID: 685b5a40478ae7f4f59b54bb3a35dd54 *** Element info: {Using=id, value=username1} at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) 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.RemoteWebDriver.findElement(RemoteWebDriver.java:363) at org.openqa.selenium.remote.RemoteWebDriver.findElementById(RemoteWebDriver.java:413) at org.openqa.selenium.By$ById.findElement(By.java:218) at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:355) at com.base.core.BaseWebDriver$1.apply(BaseWebDriver.java:133) at com.base.core.BaseWebDriver$1.apply(BaseWebDriver.java:1) at org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:238) at com.base.core.BaseWebDriver.waitAndGetElement(BaseWebDriver.java:130) at object.fxdj.CommonPage.userNameInputbox(CommonPage.java:18) at task.fxdj.CommonTask.login(CommonTask.java:47) at testcase.fxdj.ScriptFXDJ001.main(ScriptFXDJ001.java:22) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) 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:50) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) 2017/10/16 16:18:09:877 ERROR ScriptFXDJ001:175 - java.lang.NullPointerException 2017/10/16 16:18:13:864 ERROR ScriptFXDJ001:139 - Can not find element: org.openqa.selenium.WebDriverException: disconnected: not connected to DevTools (Session info: chrome=60.0.3112.113) (Driver info: chromedriver=2.33.506120 (e3e53437346286c0bc2d2dc9aa4915ba81d9023f),platform=Windows NT 10.0.14393 x86_64) (WARNING: The server did not provide any stacktrace information) Command duration or timeout: 444 milliseconds Build info: version: '2.53.1', revision: 'a36b8b1', time: '2016-06-30 17:37:03' System info: host: 'DESKTOP-8TFCAAQ', ip: '10.2.114.205', os.name: 'Windows 10', os.arch: 'x86', os.version: '10.0', java.version: '1.8.0_144' Driver info: org.openqa.selenium.chrome.ChromeDriver Capabilities [{applicationCacheEnabled=false, rotatable=false, mobileEmulationEnabled=false, networkConnectionEnabled=false, chrome={chromedriverVersion=2.33.506120 (e3e53437346286c0bc2d2dc9aa4915ba81d9023f), userDataDir=C:\Users\ZHANGQ~1\AppData\Local\Temp\scoped_dir3148_31908}, takesHeapSnapshot=true, pageLoadStrategy=normal, databaseEnabled=false, handlesAlerts=true, hasTouchScreen=false, version=60.0.3112.113, platform=XP, browserConnectionEnabled=false, nativeEvents=true, acceptSslCerts=true, locationContextEnabled=true, webStorageEnabled=true, browserName=chrome, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true, setWindowRect=true, unexpectedAlertBehaviour=}] Session ID: 685b5a40478ae7f4f59b54bb3a35dd54 *** Element info: {Using=id, value=button} at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) 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.RemoteWebDriver.findElement(RemoteWebDriver.java:363) at org.openqa.selenium.remote.RemoteWebDriver.findElementById(RemoteWebDriver.java:413) at org.openqa.selenium.By$ById.findElement(By.java:218) at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:355) at com.base.core.BaseWebDriver.findElement(BaseWebDriver.java:88) at object.fxdj.CommonPage.ensureButton(CommonPage.java:28) at task.fxdj.CommonTask.login(CommonTask.java:49) at testcase.fxdj.ScriptFXDJ001.main(ScriptFXDJ001.java:22) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) 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:50) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) 2017/10/16 16:19:14:296 ERROR ScriptFXDJ001:190 - java.lang.NullPointerException ```
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在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优化之路!
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
使用 Docker 部署 Spring Boot 项目
Docker 技术发展为微服务落地提供了更加便利的环境,使用 Docker 部署 Spring Boot 其实非常简单,这篇文章我们就来简单学习下。首先构建一个简单的 S...
英特尔不为人知的 B 面
从 PC 时代至今,众人只知在 CPU、GPU、XPU、制程、工艺等战场中,英特尔在与同行硬件芯片制造商们的竞争中杀出重围,且在不断的成长进化中,成为全球知名的半导体公司。殊不知,在「刚硬」的背后,英特尔「柔性」的软件早已经做到了全方位的支持与支撑,并持续发挥独特的生态价值,推动产业合作共赢。 而对于这一不知人知的 B 面,很多人将其称之为英特尔隐形的翅膀,虽低调,但是影响力却不容小觑。 那么,在...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
刷了几千道算法题,这些我私藏的刷题网站都在这里了!
遥想当年,机缘巧合入了 ACM 的坑,周边巨擘林立,从此过上了"天天被虐似死狗"的生活… 然而我是谁,我可是死狗中的战斗鸡,智力不够那刷题来凑,开始了夜以继日哼哧哼哧刷题的日子,从此"读题与提交齐飞, AC 与 WA 一色 ",我惊喜的发现被题虐既刺激又有快感,那一刻我泪流满面。这么好的事儿作为一个正直的人绝不能自己独享,经过激烈的颅内斗争,我决定把我私藏的十几个 T 的,阿不,十几个刷题网...
白话阿里巴巴Java开发手册高级篇
不久前,阿里巴巴发布了《阿里巴巴Java开发手册》,总结了阿里巴巴内部实际项目开发过程中开发人员应该遵守的研发流程规范,这些流程规范在一定程度上能够保证最终的项目交付质量,通过在时间中总结模式,并推广给广大开发人员,来避免研发人员在实践中容易犯的错误,确保最终在大规模协作的项目中达成既定目标。 无独有偶,笔者去年在公司里负责升级和制定研发流程、设计模板、设计标准、代码标准等规范,并在实际工作中进行...
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
redis分布式锁,面试官请随便问,我都会
文章有点长并且绕,先来个图片缓冲下! 前言 现在的业务场景越来越复杂,使用的架构也就越来越复杂,分布式、高并发已经是业务要求的常态。像腾讯系的不少服务,还有CDN优化、异地多备份等处理。 说到分布式,就必然涉及到分布式锁的概念,如何保证不同机器不同线程的分布式锁同步呢? 实现要点 互斥性,同一时刻,智能有一个客户端持有锁。 防止死锁发生,如果持有锁的客户端崩溃没有主动释放锁,也要保证锁可以正常释...
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
Nginx 原理和架构
Nginx 是一个免费的,开源的,高性能的 HTTP 服务器和反向代理,以及 IMAP / POP3 代理服务器。Nginx 以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻名。 Nginx 的整体架构 Nginx 里有一个 master 进程和多个 worker 进程。master 进程并不处理网络请求,主要负责调度工作进程:加载配置、启动工作进程及非停升级。worker 进程负责处...
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1...
Java世界最常用的工具类库
Apache Commons Apache Commons有很多子项目 Google Guava 参考博客
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员...
网易云6亿用户音乐推荐算法
网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。 将从如下两个部分展开: AI算法在音乐推荐中的应用 音乐场景下的 AI 思考 从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC...
【技巧总结】位运算装逼指南
位算法的效率有多快我就不说,不信你可以去用 10 亿个数据模拟一下,今天给大家讲一讲位运算的一些经典例子。不过,最重要的不是看懂了这些例子就好,而是要在以后多去运用位运算这些技巧,当然,采用位运算,也是可以装逼的,不信,你往下看。我会从最简单的讲起,一道比一道难度递增,不过居然是讲技巧,那么也不会太难,相信你分分钟看懂。 判断奇偶数 判断一个数是基于还是偶数,相信很多人都做过,一般的做法的代码如下...
为什么要学数据结构?
一、前言 在可视化化程序设计的今天,借助于集成开发环境可以很快地生成程序,程序设计不再是计算机专业人员的专利。很多人认为,只要掌握几种开发工具就可以成为编程高手,其实,这是一种误解。要想成为一个专业的开发人员,至少需要以下三个条件: 1) 能够熟练地选择和设计各种数据结构和算法 2) 至少要能够熟练地掌握一门程序设计语言 3) 熟知所涉及的相关应用领域的知识 其中,后两个条件比较容易实现,而第一个...
Android 9.0 init 启动流程
阅读五分钟,每日十点,和您一起终身学习,这里是程序员Android本篇文章主要介绍Android开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:一、启动流程概述一、 启动流程概述Android启动流程跟Linux启动类似,大致分为如下五个阶段。1.开机上电,加载固化的ROM。2.加载BootLoader,拉起Android OS。3.加载Uboot,初始外设,引导Kernel启动等。...
相关热词 c# 引用mysql c#动态加载非托管dll c# 两个表数据同步 c# 返回浮点json c# imap 链接状态 c# 漂亮字 c# 上取整 除法 c#substring c#中延时关闭 c#线段拖拉
立即提问