首页 python正文

如何使用selenium自动登录网易邮箱,及xpath中stars-with与ends-with的用法介绍

启明SEO python 2021-02-02 09:38:18 2130 0 自动登录网易邮箱

如何使用selenium自动登录网易邮箱,及xpath中stars-with与ends-with的用法介绍

网易邮箱在使用selenium实现自动登录的时候,有一点是需要我们注意的,如果没有注意到这个点,那么就是没有办法实现自动登录的。这个需要关注的点就是iframe窗口,其实通过审查元素仔细看你会发现,网易邮箱这个登录界面的html中有一个iframe,iframe下又有一个<html>,这其实就是说,在当前页面有个新的窗口,窗口中有个html。所以,要想查找到登录的元素,我们必须要将窗口切换到iframe中。具体代码如下:

from selenium import webdriver
from selenium.webdriver import ChromeOptions, FirefoxProfile
from fake_useragent import UserAgent
import time

def google():
    # ipports = self.huo_ip()
    ua = UserAgent()
    option = ChromeOptions()
    userage = ua.chrome
    # option.add_argument(('--proxy-server=' + ipports[0] + ':' + ipports[1]))
    option.add_argument('user-agent=' + userage + '')
    option.add_argument('disable-infobars')
    option.add_experimental_option('excludeSwitches', ['enable-automation'])
    option.add_experimental_option("useAutomationExtension", False)
    browser = webdriver.Chrome(options=option, executable_path='chromedriver.exe')
    browser.maximize_window()
    browser.implicitly_wait(2)
    browser.get('https://mail.163.com/')
    #下面这句就是切换到iframe窗口下的代码,其中需要注意的是iframe[starts-with(@id, 'x-URS-iframe')]
    browser.switch_to.frame(browser.find_element_by_xpath("//iframe[starts-with(@id, 'x-URS-iframe')]"))
    browser.find_element_by_name("email").send_keys("yueqingche")
    browser.find_element_by_name("password").send_keys("seo123456")
    browser.find_element_by_id('dologin').click()
    time.sleep(15)


if __name__ == '__main__':
    google()

上面之所以使用iframe[starts-with(@id, 'x-URS-iframe')],主要原因是因为网易中这个iframe的id="x-URS-iframe1612229174595.2632"中,后面的那一段数字是一个变量,你每次打开他们都是不一样的,所以精确的找是无法找到这个iframe,必须要使用starts-with(@id, 'x-URS-iframe'),starts-with的意思是以么么开头,其中与之相对应的有ends-with,顾名思义就是以么么结尾。


评论

Python好学公众号

好文推荐

实时访客入口页面出现bd_vid=标识是什么原因

实时访客入口页面出现bd_vid=标识是什么原因

最近查看百度实时访客,总是会看到入口页面会多......

有了微信视频号,但是没有发布权限,怎么开通

有了微信视频号,但是没有发布权限,怎么开通

视频号是微信在2020年1月19号开始内测的......

如何用python抓取爱企查企业信息

如何用python抓取爱企查企业信息

前段时间,经理让我去找一些企业的信息,我平常......

服务器配置低,宝塔面板安装IIS总是安装不上怎么办

服务器配置低,宝塔面板安装IIS总是安装不上怎么办

对于一般企业网站或者博客来说,对服务器的配置......

如何修改浏览器指纹,Canvas指纹、Webgl指纹、Audio指纹修改方法?

如何修改浏览器指纹,Canvas指纹、Webgl指纹、Audio指纹修改方法?

修改浏览指纹的方法其实也是很简单,主要使用到......

win10下安装MYSQL后,提示Can't connect to MySQL server on localhost (10061)相关问题解决方法

win10下安装MYSQL后,提示Can't connect to MySQL server on localhost (10061)相关问题解决方法

我遇到的问题是电脑原先安装过mysql,卸......