想请教一下使用selenium请求网页和requests.get 获取网页的区别

最近刚开始学习selenium,想知道自己的理解对不对,使用selenium模拟登录网页的话可以直接去搜索网页检查里面出现的内容,是经json等文件渲染之后的网页,而requests获取的网页是网页源代码?是这样的区别吗 不知道自己的理解对不对。

1个回答

你说的没错,selenium是模拟浏览器请求,因此带动态js代码执行后的效果,而requests.get只是从网络获取原始的网页,而不会执行

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
在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.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是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.
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 环境中,同时放在浏览器安装 路径,同时配置了环境变量以后运行报错!
使用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
python+selenium自动化,怎么获取到网页提示的元素???
python+selenium自动化,怎么获取到网页提示的元素???
Python selenium Firefox 模拟F5按键无效
版本:python3.7 ``` # -*- utf-8 -*- """ 测试一些浏览器的模拟点击事件 """ import requests from selenium import webdriver from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.common.keys import Keys import time print("启动浏览器") driver = webdriver.Firefox() driver.get("https://cn.bing.com") time.sleep(10) print('准备按键') driver.find_element_by_id('sb_form_q').send_keys('selenium') time.sleep(2) driver.find_element_by_id('sb_form_q').send_keys(Keys.CONTROL,'a') time.sleep(2) driver.find_element_by_id('sb_form_q').send_keys(Keys.CONTROL,'x') action = ActionChains(driver) # driver.find_element_by_class_name('article-title-box').key_down(Keys.F5).perform() action.key_down(Keys.F12).key_up(Keys.F12).perform() print('已经按键') time.sleep(10) print('准备按键1') action = ActionChains(driver) action.key_down(Keys.F5).perform() print('已经按键1') ``` 使用Ctrl+a Ctrl+x 都是有用的。就使用按键无效
关于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. 忙活半天了,不知道怎么解决,求懂的大神帮忙看看,感谢
如何利用python selenium 判断某个网页是否加载完毕
1、个人想利用python selenium(webdriver) 去拨测一些域名,域名不同,然后将这些域名返回的网页完全加载出来,再进行截图。 2、现在是利用selenium自动化访问无法判断每个页面是否完全加载出来,因为不同网页的元素与标签都不尽相同;若用“显示等待”发现这个条件个人设置不好,因为不是判断加载指定的一个元素。 例如:显示等待导入类如下 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 问题:现在就是想知道用这种方面如何判断将页面完全加载出来,谢谢! 利如百度、知乎、360域名等等
python中用Selenium模拟登陆获取cookie。但是get_cookies成功过后浏览器就直接自动关闭,请问是什么原因
python中用Selenium模拟登陆获取cookie。但是get_cookies成功过后浏览器就直接自动关闭,请问是什么原因
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也是没有包,就很奇怪,问问各位大佬怎么解决?
求助如何利用Python +selenium实现长网页截图
个人在网上搜到一个利用Chrome headless 无头浏览器截图的方法,但是截出图片为空 代码如下: from selenium import webdriver from selenium.webdriver.chrome.options import Options import time chrome_options = Options() chrome_options.add_argument('--headless') chrome_options.add_argument('--disable-gpu') browser = webdriver.Chrome(options = chrome_options) browser.get('http://www,baidu.com') time.sleep(3) browser.get_screenshot_as_file(r'C:\Users\Desktop\pictures\12.png') 问题1:为什么以上代码运行后截图是空白的?求助 问题2:想利用Chrome Headless实现长网页的截图,该如何截图? 问题3:或者有其他方法实现长网页截图没,例如网址 https://www.so.com/s?q=%E4%BD%A0 ... 1c671edd7b6158708e6 ,若截取屏幕的话,该网页无法完全截图,想完整截图必须得滚动网页。 谢谢!
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+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进行多协程填写表单?
系统: win10 环境:python3.7 浏览器:chrom 小白自学phthon,使用selenium写了一个工具,任务是进入帐号,点掉所有被选中的勾选框,但是假设我需要对1000个帐号进行同样的操作,for i in range(len(work)):将会打开1000个浏览器窗口,有没有一种方法能实现每次打开5个窗口,直至遍历帐号列表? 这是我的帐号列表:(假装有1000个帐号) (https://img-ask.csdn.net/upload/202001/06/1578295823_23416.png) 这是我的代码: ``` #!/usr/bin/env python # -*- coding:utf-8 -*- from gevent import monkey monkey.patch_all() from selenium import webdriver import time, openpyxl, gevent from gevent.queue import Queue work = Queue() def login(): if not work.empty(): user = work.get_nowait() driver = webdriver.Chrome() driver.get('http://safe.shougang.com.cn/srp/#') driver.maximize_window() # 打开浏览器登陆首安云并最大化窗口 username = driver.find_element_by_id('userName') username.send_keys(user) password = driver.find_element_by_id('passWord') password.send_keys(user[0][-6:]) # 传入帐号和密码 button = driver.find_element_by_css_selector('.btn.btn-primary') button.click() try: driver.find_element_by_css_selector('.x-component.x-window-text.x-box-item.x-component-default') print('用户%s 密码错误!\n队列剩余%s个' % (user, len(work))) driver.close() return except Exception: time.sleep(1) # 试登陆 try: url_yhpc = driver.find_element_by_partial_link_text('您有待排查') url_yhpc.click() time.sleep(1) except Exception: print('用户%s 无隐患排查任务\n队列剩余%s个' % (user, len(work))) driver.close() time.sleep(1) return daj_button = driver.find_elements_by_css_selector('.x-grid-checkcolumn.x-grid-checkcolumn-checked') for bt in daj_button: bt.click() time.sleep(0.5) send_button = driver.find_element_by_id('button-1302-btnInnerEl') send_button.click() time.sleep(1) yes_button = driver.find_element_by_id('button-1010-btnWrap') yes_button.click() time.sleep(1) driver.close() print('用户%s 排查成功\n队列剩余%s个' % (user, len(work))) def get_users(): wb = openpyxl.load_workbook(r'C:\users\lz315\Desktop\首安云试验.xlsx') ws = wb.active for row in ws.rows: list_user = [] for cell in row: aa = str(cell.value) list_user.append(aa) work.put_nowait(list_user) wb.close() return work # 读取帐号信息,返回帐号list start = time.time() get_users() task_list = [] for i in range(len(work)): task = gevent.spawn(login) task_list.append(task) gevent.joinall(task_list) end = time.time() print(end-start) ```
内网使用selenium无法找到.click()
1.安装未报错 2.可以正常调起chrome,并成功打开网页 3.但是无法使用element下的.click()等-----(只有list) 图1为内网截图 ![图1为内网截图](https://img-ask.csdn.net/upload/201911/30/1575093275_947966.jpg) 图2为外网截图 ![图2为外网截图](https://img-ask.csdn.net/upload/201911/30/1575093287_842669.png)
python中定位多个元素问题?
![图片说明](https://img-ask.csdn.net/upload/202001/20/1579508923_781940.png) ![图片说明](https://img-ask.csdn.net/upload/202001/20/1579508935_650837.png) 问题描述: 如图,在学习定位多个元素的时候,以京东商城为例。 代码如下: ``` from selenium import webdriver import time driver=webdriver.Chrome() driver.get('https://search.jd.com/Search?keyword=%E6%89%8B%E6%9C%BA&enc=utf-8&wq=%E6%89%8B%E6%9C%BA&pvid=e424a92e8d0d4845944e22ecb9a79534') time.sleep(2) #查找多个元素 eles=driver.find_elements_by_css_selector('li.gl-item div.p-price') print(type(eles)) print(eles[0]) print(eles[0].text) ``` 运行发现,得到的eles是一个列表,列表中的元素是什么意思? <selenium.webdriver.remote.webelement.WebElement (session="bad7c30cfca410e6c2997d7e74e74336", element="924b5320-0100-424f-989d-c484dbae5b36")>
python+selenium无法用firefox加载网页
最近在学习selenium遇到的这个问题,只能打开firefox,之后就没法加载url,公司的电脑我试下是可以的,网上搜了很多资料也没有解决,很纠结,请大家帮忙看看... python代码: from selenium import webdriver from time import sleep s = webdriver.Firefox() s.get('https://www.baidu.com') s.find_element_by_id('kw').send_keys('python') sleep(3) s.find_element_by_id('su').click() sleep(5) s.quit() 打印的报错信息: Traceback (most recent call last): File "D:/python/new.py", line 5, in <module> s = webdriver.Firefox() File "C:\Python27\lib\site-packages\selenium-2.48.0-py2.7.egg\selenium\webdriver\firefox\webdriver.py", line 77, in __init__ self.binary, timeout), File "C:\Python27\lib\site-packages\selenium-2.48.0-py2.7.egg\selenium\webdriver\firefox\extension_connection.py", line 49, in __init__ self.binary.launch_browser(self.profile) File "C:\Python27\lib\site-packages\selenium-2.48.0-py2.7.egg\selenium\webdriver\firefox\firefox_binary.py", line 68, in launch_browser self._wait_until_connectable() File "C:\Python27\lib\site-packages\selenium-2.48.0-py2.7.egg\selenium\webdriver\firefox\firefox_binary.py", line 103, in _wait_until_connectable raise WebDriverException("Can't load the profile. Profile " selenium.common.exceptions.WebDriverException: Message: Can't load the profile. Profile Dir: %s If you specified a log_file in the FirefoxBinary constructor, check it for details. 我的环境是: python2.7.11 selenium2.48 Firefox42
selenium操作元素时候报 Element is no longer valid
selenium能够定位到元素,但是操作元素时候报 Element is no longer valid from selenium import webdriver import time browser = webdriver.Ie() browser.maximize_window() browser.get('URL') elem = browser.find_element_by_css_selector("#username") elem.click()___ 网上给的方法已经都试过了,什么等待,refresh页面等等,都不可以,有没有大神帮忙解决一下呢,错误信息如下 elem.click() File "C:\Python27\lib\site-packages\selenium-2.52.0-py2.7.egg\selenium\webdriver\remote\webelement.py", line 75, in click self._execute(Command.CLICK_ELEMENT) File "C:\Python27\lib\site-packages\selenium-2.52.0-py2.7.egg\selenium\webdriver\remote\webelement.py", line 469, in _execute return self._parent.execute(command, params) File "C:\Python27\lib\site-packages\selenium-2.52.0-py2.7.egg\selenium\webdriver\remote\webdriver.py", line 201, in execute self.error_handler.check_response(response) File "C:\Python27\lib\site-packages\selenium-2.52.0-py2.7.egg\selenium\webdriver\remote\errorhandler.py", line 194, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.StaleElementReferenceException: Message: Element is no longer valid
Kafka实战(三) - Kafka的自我修养与定位
Apache Kafka是消息引擎系统,也是一个分布式流处理平台(Distributed Streaming Platform) Kafka是LinkedIn公司内部孵化的项目。LinkedIn最开始有强烈的数据强实时处理方面的需求,其内部的诸多子系统要执行多种类型的数据处理与分析,主要包括业务系统和应用程序性能监控,以及用户行为数据处理等。 遇到的主要问题: 数据正确性不足 数据的收集主要...
volatile 与 synchronize 详解
Java支持多个线程同时访问一个对象或者对象的成员变量,由于每个线程可以拥有这个变量的拷贝(虽然对象以及成员变量分配的内存是在共享内存中的,但是每个执行的线程还是可以拥有一份拷贝,这样做的目的是加速程序的执行,这是现代多核处理器的一个显著特性),所以程序在执行过程中,一个线程看到的变量并不一定是最新的。 volatile 关键字volatile可以用来修饰字段(成员变量),就是告知程序任何对该变量...
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
有哪些让程序员受益终生的建议
从业五年多,辗转两个大厂,出过书,创过业,从技术小白成长为基层管理,联合几个业内大牛回答下这个问题,希望能帮到大家,记得帮我点赞哦。 敲黑板!!!读了这篇文章,你将知道如何才能进大厂,如何实现财务自由,如何在工作中游刃有余,这篇文章很长,但绝对是精品,记得帮我点赞哦!!!! 一腔肺腑之言,能看进去多少,就看你自己了!!! 目录: 在校生篇: 为什么要尽量进大厂? 如何选择语言及方...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
GitHub开源史上最大规模中文知识图谱
近日,一直致力于知识图谱研究的 OwnThink 平台在 Github 上开源了史上最大规模 1.4 亿中文知识图谱,其中数据是以(实体、属性、值),(实体、关系、实体)混合的形式组织,数据格式采用 csv 格式。 到目前为止,OwnThink 项目开放了对话机器人、知识图谱、语义理解、自然语言处理工具。知识图谱融合了两千五百多万的实体,拥有亿级别的实体属性关系,机器人采用了基于知识图谱的语义感...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发...
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 演示地点演示 html代码如下` music 这个年纪 七月的风 音乐 ` 然后就是css`*{ margin: 0; padding: 0; text-decoration: none; list-...
微信支付崩溃了,但是更让马化腾和张小龙崩溃的竟然是……
loonggg读完需要3分钟速读仅需1分钟事件还得还原到昨天晚上,10 月 29 日晚上 20:09-21:14 之间,微信支付发生故障,全国微信支付交易无法正常进行。然...
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...
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小型人工智障。 知识可以运用在不同地方,不一定非是天气预报。
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
英特尔不为人知的 B 面
从 PC 时代至今,众人只知在 CPU、GPU、XPU、制程、工艺等战场中,英特尔在与同行硬件芯片制造商们的竞争中杀出重围,且在不断的成长进化中,成为全球知名的半导体公司。殊不知,在「刚硬」的背后,英特尔「柔性」的软件早已经做到了全方位的支持与支撑,并持续发挥独特的生态价值,推动产业合作共赢。 而对于这一不知人知的 B 面,很多人将其称之为英特尔隐形的翅膀,虽低调,但是影响力却不容小觑。 那么,在...
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
刷了几千道算法题,这些我私藏的刷题网站都在这里了!
遥想当年,机缘巧合入了 ACM 的坑,周边巨擘林立,从此过上了"天天被虐似死狗"的生活… 然而我是谁,我可是死狗中的战斗鸡,智力不够那刷题来凑,开始了夜以继日哼哧哼哧刷题的日子,从此"读题与提交齐飞, AC 与 WA 一色 ",我惊喜的发现被题虐既刺激又有快感,那一刻我泪流满面。这么好的事儿作为一个正直的人绝不能自己独享,经过激烈的颅内斗争,我决定把我私藏的十几个 T 的,阿不,十几个刷题网...
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看...
白话阿里巴巴Java开发手册高级篇
不久前,阿里巴巴发布了《阿里巴巴Java开发手册》,总结了阿里巴巴内部实际项目开发过程中开发人员应该遵守的研发流程规范,这些流程规范在一定程度上能够保证最终的项目交付质量,通过在时间中总结模式,并推广给广大开发人员,来避免研发人员在实践中容易犯的错误,确保最终在大规模协作的项目中达成既定目标。 无独有偶,笔者去年在公司里负责升级和制定研发流程、设计模板、设计标准、代码标准等规范,并在实际工作中进行...
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
项目中的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 进程负责处...
YouTube排名第一的励志英文演讲《Dream(梦想)》
Idon’t know what that dream is that you have, I don't care how disappointing it might have been as you've been working toward that dream,but that dream that you’re holding in your mind, that it’s po...
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
相关热词 基于c#波形控件 c# 十进制转十六进制 对文件aes加密vc# c#读取栈中所有的值 c# rsa256加密 好 学c# 还是c++ c# 和java的差距 c# curl网络框架 c# https证书请求 c# 中崎
立即提问