码迷,mamicode.com
首页 > 其他好文 > 详细

selenium学习(二)

时间:2020-06-18 16:05:53      阅读:48      评论:0      收藏:0      [点我收藏+]

标签:tag   load   rop   ppa   comm   phone   nts   find   mamicode   

基本使用

声明浏览器对象

from selenium import webdriver

browser = webdriver.Chrome()
browser = webdriver.Firefox()
browser = webdriver.Firefox()
browser = webdriver.Edge()
browser = webdriver.PhantomJS()
browser = webdriver.Opera()
browser = webdriver.Safari()

访问页面

from selenium import webdriver

browser = webdriver.Chrome()
browser.get("https://www.taobao.com/")
print(browser.page_source)
browser.close()
打开淘宝并输出网页源码

技术图片

查找元素

单个元素

from selenium import webdriver

browser = webdriver.Chrome()
browser.get("https://www.taobao.com/")
input_first = browser.find_element_by_id(‘q‘)  # 通过id名查找元素
input_second = browser.find_element_by_css_selector(‘#q‘)  # 通过css选择器查找元素
print(input_first,input_second)
browser.close()
打开淘宝页面,并查找id名为‘q’的搜索框

八种元素定位方式

id定位: find_element_by_id()
class定位:find_element_by_class_name()
CSS定位:find_element_by_css_selector()
name定位: find_element_by_name()
tag定位:find_element_by_tag_name()
link定位:find_element_by_link_text()
partial_link定位:find_element_by_partial_link_text()
xpath定位:find_element_by_xpath()

还可以通过By进行查找

from selenium import webdriver
from selenium.webdriver.common.by import By

browser = webdriver.Chrome()
browser.get("https://www.taobao.com/")
input_first = browser.find_element(By.ID, ‘q‘)
print(input_first)
browser.close()

多个元素

from selenium import webdriver

browser = webdriver.Chrome()
browser.get("https://www.taobao.com/")
input_first = browser.find_elements_by_css_selector(‘.service-bd li‘)
print(input_first)
browser.close()

find_elements_by_xxx

元素交互操作

对获取的元素进行交互

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

browser = webdriver.Chrome()
browser.get("https://www.taobao.com/")
search = browser.find_element_by_css_selector(‘#q‘)
search.send_keys("iPhone")
time.sleep(1)
search.clear()
search.send_keys("iPad")
search.send_keys(Keys.ENTER)
time.sleep(5)
browser.close()
打开淘宝,找到搜索框,先输入iPhone,清空后重新输入iPad,并按下回车进行搜索

交互动作

技术图片

from selenium import webdriver
from selenium.webdriver import ActionChains

browser = webdriver.Chrome()
browser.get("https://www.runoob.com/try/try.php?filename=jqueryui-example-droppable")
search = browser.switch_to.frame(‘iframeResult‘)
source = browser.find_element_by_css_selector(‘#draggable‘)
target = browser.find_element_by_css_selector(‘#droppable‘)
actions = ActionChains(browser)
actions.drag_and_drop(source, target)
actions.perform()

技术图片
注:因为所要操作元素在一个iframe中,所以要先切换到该iframe,否则获取不到元素

selenium学习(二)

标签:tag   load   rop   ppa   comm   phone   nts   find   mamicode   

原文地址:https://www.cnblogs.com/myquark/p/13157699.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!