Python 调用 selenium chromedriver 常用配置
话不多说,上示例代码
from selenium import webdriver import time chromedriver = "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chromedriver.exe" #设置不加载图片 chrome_opt = webdriver.ChromeOptions() prefs = {"profile.managed_default_content_settings.images": 2} chrome_opt.add_experimental_option("prefs", prefs) dirver = webdriver.Chrome(executable_path=chromedriver, chrome_options=chrome_opt) dirver.get("https://www.zhihu.com/signup?next=%2F") #获取页面HTML html = driver.page_source dirver.find_element_by_xpath("//div[@class='SignContainer-switch']/span").click() dirver.find_element_by_xpath("//div[@class='SignFlow-accountInput Input-wrapper']/input").send_keys("") dirver.find_element_by_xpath("//div[@class='SignFlow-password']/div/div[@class='Input-wrapper']/input").send_keys("") dirver.find_element_by_xpath("//button[@class='Button SignFlow-submitButton Button--primary Button--blue']").click() cookie = [item["name"] + "=" + item["value"] for item in dirver.get_cookies()] cookiestr = ';'.join(item for item in cookie) print(cookiestr)
上述代码是登录知乎的示例,
其中,send_keys("")
填写的是用户名和密码。
首先点击find_element_by_xpath("//div[@class='SignContainer-switch']/span")
这个元素切换到输入用户名和密码的界面,
然后使用xpath找到用户名和密码的元素位置,执行send_keys("")
方法填充用户名和密码,
最后找到登录按钮,执行点击动作。
cookie = [item["name"] + "=" + item["value"] for item in dirver.get_cookies()]
这行代码是获取登录后的cookie。
js = 'function scroll(){var scrollElem=document.scrollingElement;scrollElem.scrollTop = len;le = document.scrollingElement.scrollTop;He = document.scrollingElement.scrollHeight;cl = document.scrollingElement.clientHeight;if(le + cl == He&&le + cl!=0) {}len=len+300;setTimeout(scroll,500)};len = 0;scroll();' driver.execute_script(js)
上边两行代码是执行js脚本使界面自动下拉滚动。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
阿里云Linux服务器的搭建过程(包括JDK、Tomcat、Redis、MySQL的安装)及遇到的问题与处理:(二)Tomcat的安装
第一篇我们讲了JDK的安装,安装完毕后,我们就已经搭建了一个Java程序能够运行的环境,我们都知道,基于Java开发的服务端的程序,需要在容器中才能使用,所以这里我们讲下期中一种服务器容器Tomcat的安装,安装完Tomcat,你开发的服务端代码就可以在服务器环境下真正的运行起来了 下载Tomcat 下载Tomcat的官方网址:link 在这里选择你想要的版本,这里我选择Tomcat 8的版本,点击之后选择相应的系统环境的压缩包这里我们选择tar.gz的版本点击之后下载,下载完毕后,我们使用Xftp工具在/urs/java下新建一个tomcat的文件夹,并将下载好的Tomcat安装包上传至服务器上传完毕后打开XShell,进行下一步骤 安装Tomcat 执行命令cd ../usr/java/tomcat, 进入tomcat文件夹下,然后再执行命令:tar -xzvf apache-tomcat-8.5.29.tar.gz, 或者也可以直接执行命令:tar -xzvf apache-tomcat-8.5.29.tar.gz -C /usr/java/tomcat 执行完毕之后,在tomc...
- 下一篇
java面试题:当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
答:是值传递。Java编程语言只有值传递参数。 当一个对象实例作为一个参数被传递到方法中时,参数的值就是该对象的引用一个副本。指向同一个对象,对象的内容可以在被调用的方法中改变,但对象的引用(不是引用的副本)是永远不会改变的。 1.Java中没有指针,所以也没有引用传递了,仅仅有值传递。不过,可以通过对象的方式来实现引用传递。类似java没有多继承,但可以用多次implements接口实现多继承的功能。 2.在Java应用程序中永远不会传递对象,而只传递对象的引用。因此是按引用传递对象。但重要的是要区分参数是如何传递的。 3.Java应用程序按引用传递对象这一事实并不意味着 Java 应用程序按引用传递参数。参数可以是对象引用,而 Java应用程序是按值传递对象引用的。 4.Java应用程序中的变量可以为以下两种类型之一:引用类型或基本类型。当作为参数传递给一个方法时,处理这两种类型的方式是相同的。两种类型都是按值传递的,没有一种按引用传递。 按值传递意味着当将一个参数传递给一个函数时,函数接收的是原始值的一个副本。因此,如果函数修改了该参数,仅改变副本,而原始值保持不变。 按引用...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS8编译安装MySQL8.0.19
- Docker安装Oracle12C,快速搭建Oracle学习环境