selenium的内容真杂,代码超多,周日搞了半天才把2小时的课程搞完
from selenium import webdriver
from selenium.webdriver.common.by import By
#加载驱动
driver=webdriver.Chrome(executable_path=‘D:\Program Files\PyCharm Community Edition 2020.1.2\chromedriver.exe’)
driver.get(‘https://www.baidu.com’)
#通过ID来找
#driver.find_element_by_id(‘kw’)
#driver.find_element_by_id(‘kw’).send_keys(‘python’)
#driver.find_element(By.ID,‘kw’).send_keys(‘java’)
#2 通过class name
#driver.find_element_by_class_name(‘s_ipt’).send_keys(‘jerry’)
#driver.find_element(By.CLASS_NAME,‘s_ipt’).send_keys(‘beauty’)
#3 通过name属性
#driver.find_element_by_name(‘wd’).send_keys(‘chen’)
#driver.find_element(By.NAME,‘wd’).send_keys(‘jiuzhe’)
head=driver.find_element_by_tag_name(‘head’) #通过标签名字定位,用的少,因为重复多
print(head)
#通过Xpath来定位
#driver.find_element_by_xpath(’//input[@id=“kw”]’).send_keys(‘beauty’) # 注意id=“kw” 必须为双引号,和源代码 保持一致
driver.find_element_by_xpath(’//*[@id=“kw”]’).send_keys(‘hao’)
#通过css选择器来定位
#driver.find_element_by_css_selector(’.s_ipt’).send_keys(‘warren’)
inputTag=driver.find_elements_by_tag_name(‘input’)
print(len(inputTag))
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
#加载驱动
driver=webdriver.Chrome(executable_path=‘D:\Program Files\PyCharm Community Edition 2020.1.2\chromedriver.exe’)
driver.get(‘https://www.baidu.com’)
百度一下是一个input 标签,所以可用:
#driver.find_element_by_id(‘su’).send_keys(‘pyhton’)
#但是不工作
#wrapper不是一个input,是div所以报错
#driver.find_element_by_id(‘wrapper’).send_keys(‘pyhton’)
inputTag=driver.find_element_by_id(‘kw’)
inputTag.send_keys(‘beauty’)
time.sleep(2)
inputTag.clear()
inputTag2=driver.find_element_by_id(‘su’)
inputTag2.click()
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
from selenium.webdriver.support.ui import Select
#加载驱动
driver=webdriver.Chrome(executable_path=‘D:\Program Files\PyCharm Community Edition 2020.1.2\chromedriver.exe’)
driver.get(‘https://www.17sucai.com/pins/demo-show?id=5926’)
#selectTag=driver.find_element_by_class_name(‘nojs’)
#1 选择方式,根据值
#selectTag.select_by_value(‘jp’) 报错,因为有iframe的嵌套,所以找不到,需要先切换到iframe
#切换iframe
driver.switch_to_frame(driver.find_element_by_id(‘iframe’))
selectTag=Select(driver.find_element_by_class_name(‘nojs’))
#selectTag=driver.find_element_by_class_name(‘nojs’)
#selectTag.select_by_value(‘JP’) #没有select_by_value, 需要创建
#2 根据索引值来选择
selectTag.select_by_index(3)
#操作非select标签
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
from selenium.webdriver.support.ui import Select
#加载驱动
driver=webdriver.Chrome(executable_path=‘D:\Program Files\PyCharm Community Edition 2020.1.2\chromedriver.exe’)
driver.get(‘https://www.17sucai.com/pins/demo-show?id=5926’)
#切换iframe
#driver.switch_to_frame(driver.find_element_by_id(‘iframe’))
driver.switch_to.frame(driver.find_element_by_id(‘iframe’))
#selectTag=Select(driver.find_element_by_id(‘dk_container_country-nofake’)) select 没有div,这样不行,所以试试
divTag=driver.find_element_by_id(‘dk_container_country-nofake’).click()
#select by index 和select by value都不行
key = int(input(‘请输入:’))
if key == 1:
driver.find_element_by_xpath(’//[@id=“dk_container_country-nofake”]/div/ul/li[2]/a’).click()
elif key == 2:
driver.find_element_by_xpath(’//[@id=“dk_container_country-nofake”]/div/ul/li[3]/a’).click()
#模拟登陆豆瓣
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
from selenium.webdriver.support.ui import Select
#加载驱动
driver=webdriver.Chrome(executable_path=‘D:\Program Files\PyCharm Community Edition 2020.1.2\chromedriver.exe’)
driver.get(‘https://www.douban.com/’)
#找到并且切换iframe
login_iframe = driver.find_element_by_xpath(’//div[@class=“login”]/iframe’)
driver.switch_to.frame(login_iframe