用selenium模拟登录豆瓣

注意

1.要先切换到输入账号和密码所在的子框架

2.先点击用密码登录的按钮,在进行输入位置的定位和输入

用selenium模拟登录豆瓣_第1张图片
用selenium模拟登录豆瓣_第2张图片
用selenium模拟登录豆瓣_第3张图片

注意在iframe里面

在这里插入图片描述
代码

from selenium import webdriver
import time

url = 'https://www.douban.com'
browser = webdriver.Chrome()
browser.get(url)

browser.implicitly_wait(10)

# 重点1要先切换到子框架
browser.switch_to.frame(browser.find_elements_by_tag_name('iframe')[0])

# 重点2要先点击用账号密码登录的按钮,不然会找不到输入账号和密码的地方
bottom1 = browser.find_element_by_xpath('/html/body/div[1]/div[1]/ul[1]/li[2]')
bottom1.click()

input1 = browser.find_element_by_id('username')
input1.clear()
input1.send_keys('your phone number')

input2 = browser.find_element_by_id('password')
input2.clear()
input2.send_keys('xxxxxxxxxxxx')

time.sleep(10)
# 手动输入验证码。。这个后面再弄

bottom = browser.find_element_by_class_name('account-form-field-submit ')
bottom.click()

browser.quit()

对selenium的xpath要注意的地方和普通xpath要注意的地方顺便做一个总结
find_element_by…方法返回的是一个element对象,即一个标签,要在外面用.text()和.get_attribute()方法来分别对应于获取 文本信息 和 属性的信息,而不可以再表达式里面/text()和/@href这种

你可能感兴趣的:(爬虫)