python + selenium

参考资料

https://www.cnblogs.com/3sss-ss-s/p/10313758.html#_label1

 

 

本文使用python 3.7 + 74版本 谷歌浏览器

安装

#安装:selenium+chromedriver
pip3 install selenium
下载chromdriver.exe添加环境变量或者放到python安装路径的scripts目录中即可
国内镜像网站地址:http://npm.taobao.org/mirrors/chromedriver
最新的版本去官网找:https://sites.google.com/a/chromium.org/chromedriver/downloads

验证安装

from selenium import webdriver
#没配置环境变量,要指定路径
#driver = webdriver.Chrome ('zip/chrome.exe')
driver = webdriver.Chrome ()   #弹出浏览器

 

针对html中获取iframe中#document下的节点内容,使用browser.switch_to.frame(0)获取iframe节点

案列

from selenium import webdriver
import time
import re
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from pyquery import PyQuery as pq
import os
from selenium.webdriver import ActionChains




username = "321lzhj688"
password = "yilufa168"

browser = webdriver.Chrome()
browser.maximize_window()
browser.get("https://www.1688.com/")

input_tag = browser.find_element_by_id('alisearch-keywords')
input_tag.clear
input_tag.send_keys('铝制不粘锅')
input_tag.send_keys(Keys.ENTER)
wait = WebDriverWait(browser, 5)
wait.until(EC.presence_of_element_located((By.ID,'s-module-overlay')))

browser.find_element_by_xpath('//div[@id="s-module-overlay"]/div/div/div[1]/div/div[2]/div/a').click()
# 获取ifram中#document下的节点内容
browser.switch_to.frame(0)
browser.find_element_by_xpath('//div[@id="page2"]/div/div/div[@class="bd"]/div[@class="quick-form"]/div/div[@class="login-links"]/a[text()="密码登录"]').click()
# 切到frame中之后,我们便不能继续操作主文档的元素,这时如果想操作主文档内容,则需切回主文档。
browser.switch_to.default_content()
# 用户登录又出现iframe节点 browser.switch_to.frame(0) browser.find_element_by_id(
'TPL_username_1').send_keys(username) browser.find_element_by_id('TPL_password_1').send_keys(password)

 

posted @ 2019-07-12 15:43  阿丘,你好!  阅读(170)  评论(0编辑  收藏  举报