github xpath andriod 自动化_一日一技:使用Selenium的浏览器自动化

Selenium是用于通过程序控制Web浏览器的强大工具。 它适用于所有浏览器,可在所有主要操作系统上运行,并且其脚本以各种语言(即Python,Java,C#等)编写,我们将使用Python。

掌握Selenium可以帮助您自动执行日常任务,例如控制推文,Whatsapp短信,使用15-30行python代码打开浏览器进行谷歌搜索。 selenium对自动化的限制是无限的。

安装

1.1 Python中的selenium绑定

Selenium Python绑定为访问Selenium Web驱动程序(如Firefox,Chrome等)提供了便捷的API。

Pip install Selenium 

1.2 Web驱动程序

Selenium需要Web驱动程序才能与所选浏览器进行交互。Web驱动程序是一个与Web浏览器进行交互的软件包。 它通过所有人通用的有线协议与Web浏览器或远程Web服务器进行交互。 您可以检查出并安装浏览器选择的Web驱动程序。

Chrome:    https://sites.google.com/a/chromium.org/chromedriver/downloadsFirefox: https://github.com/mozilla/geckodriver/releasesSafari:    https://webkit.org/blog/6900/webdriver-support-in-safari-10/

代码示例如下:

from selenium import webdriver # For using sleep function because selenium # works only when the all the elemets of the # page is loaded. import time from selenium.webdriver.common.keys import Keys # Creating an instance webdriver browser = webdriver.Firefox() browser.get('https://www.twitter.com') # Let's the user see and also load the element time.sleep(2) login = browser.find_elements_by_xpath('//*[@id="doc"]/div[1]/div/div[1]/div[2]/a[3]') # using the click function which is similar to a click in mouse. login[0].click() print("Loggin in Twitter") user = browser.find_elements_by_xpath('//*[@id="login-dialog-dialog"]/div[2]/div[2]/div[2]/form/div[1]/input') # Enter User Name user[0].send_keys('USER-NAME') user = browser.find_element_by_xpath('//*[@id="login-dialog-dialog"]/div[2]/div[2]/div[2]/form/div[2]/input') # Reads password from a text file because # saving the password in a script is just silly. with open('test.txt', 'r') as myfile: Password = myfile.read().replace('', '') user.send_keys(Password) LOG = browser.find_elements_by_xpath('//*[@id="login-dialog-dialog"]/div[2]/div[2]/div[2]/form/input[1]') LOG[0].click() print("Login Sucessfull") time.sleep(5) elem = browser.find_element_by_name("q") elem.click() elem.clear() elem.send_keys("Geeks for geeks ") # using keys to send special KEYS elem.send_keys(Keys.RETURN) print("Search Sucessfull") # closing the browser browser.close() 

解析上述代码

上面的脚本用于登录Twitter并搜索geeks以获取geeks句柄。

因此,让我们看看它是如何工作的:

  1. 打开浏览器
  2. 创建浏览器实例,并使用.get函数连接网站。
  3. 查找元素可以是查找输入框或按钮并使用selenium函数(例如click(),send_keys()等)与元素进行交互的任何操作。
  4. 关闭浏览器.

到目前为止,你必须已经意识到该自动化脚本可以以迭代方式找到元素并与之交互。 在网页中有多种查找元素的方法,您只需右键单击并检查元素,然后按名称,css选择器或xpath复制元素。

a6f7d614f4c95fed9a93b3a433993cdd.png

Twitter

好了,基本上就是这样,您可以为每个网站创建一个自定义的自动化脚本,或者为所有社交媒体创建一个通用的脚本,从而自动执行所有操作。

自动化没有任何限制,以上仅是使您入门的一个示例。祝您编程愉快!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值