Python爬虫之selenium库(五):操作被定位的元素

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
import time
driver = webdriver.Chrome()
driver.get("http://www.python.org")

1.鼠标点击

  • 鼠标左键点击
driver.find_element_by_link_text("Downloads").click()
time.sleep(2)
driver.back()
  • 鼠标右键点击
elem = driver.find_element_by_class_name("python-logo")
ActionChains(driver).context_click(elem).perform()
  • 鼠标左键双击
elem = driver.find_element_by_class_name("python-logo")
ActionChains(driver).double_click(elem).perform()
  • 鼠标缩放
# 元素的原始位置
elem = driver.find_element_by_class_name("python-logo")
# 元素要移动到目标位置
target = driver.find_element_by_name("q")
# 进行拖放行为
ActionChains(driver).drag_and_drop(elem,target).perform()

2.键盘键入

  • 输入字符和特殊按键(例如回车 )
elem = driver.find_element_by_name("q")
elem.clear()
elem.send_keys("selenium")
elem.send_keys(Keys.RETURN)
time.sleep(2)
driver.back()
  • 组合键
elem = driver.find_element_by_link_text("Django")
print(elem.text)
# ctrl+c进行复制
elem.send_keys(Keys.CONTROL,"c")
# 找到输入框,并将复制的内容使用ctrl+v复制到输入框
input_ = driver.find_element_by_name("q")
input_.clear()
input_.send_keys(Keys.CONTROL,"v")
input_.send_keys(Keys.RETURN)
time.sleep(2)
driver.back()
Django

3.submit表单

elem = driver.find_element_by_name("q")
elem.clear()
elem.send_keys("selenium")
elem.submit()
time.sleep(2)
driver.back()

4.获得文本内容

elem = driver.find_element_by_tag_name("code")
print(elem.text)
# Python 3: Fibonacci series up to n
>>> def fib(n):
>>>     a, b = 0, 1
>>>     while a < n:
>>>         print(a, end=' ')
>>>         a, b = b, a+b
>>>     print()
>>> fib(1000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987

5.获得标签的属性

elem = driver.find_element_by_name("q")
print(elem.get_attribute("id"))
id-search-field

猜你喜欢

转载自blog.csdn.net/bqw18744018044/article/details/81369911