文章目录
0x00 Selenium
Selenium
是一个用于自动化测试和 Web 应用程序测试的开源工具集。它提供了一系列的 API 和工具,允许开发者模拟用户在浏览器中的交互行为,从而进行自动化的功能测试、性能测试和界面测试等。
0x01 整体流程 思路
1.1 打开浏览器并且访问 登录页面 url: https://signin.aliyun.com/login.htm#/main
# 最新版本谷歌浏览器 绕过检测
options = webdriver.ChromeOptions() # 创建一个 ChromeOptions 对象,用于配置 Chrome WebDriver 的选项。
options.add_experimental_option('excludeSwitches', ['enable-automation']) # 这个配置项用来隐藏浏览器自动化特征,绕过一些检测机制
options.add_argument('--disable-blink-features=AutomationControlled') # : 这个配置项也是为了隐藏自动化特征
options.add_experimental_option("excludeSwitches",["enable-logging"]) # 隐藏启用日志记录的开关
# 初始化 WebDriver
driver = webdriver.Chrome(options=options) # 或者使用其他浏览器的 WebDriver
driver.maximize_window() #将浏览器窗口最大化
# 最新版本谷歌浏览器 绕过检测
# 打开阿里云登录页面
driver.get("https://signin.aliyun.com")
driver.maximize_window()
1.2 定位 “用户名” input 和 “下一步” button 点击下一步
首先认识个 Selenium 的一个方法
find_element
是 Selenium
中用于定位网页元素的方法。它用于在网页中找到满足特定条件的单个元素,并返回一个代表该元素的对象,可以用来进行后续的操作,例如点击、输入文本等。
find_element
不同的定位方式,常用的包括:
- By.ID: 使用元素的 id 属性来定位元素。
- By.NAME: 使用元素的 name 属性来定位元素。
- By.CLASS_NAME: 使用元素的 class 属性来定位元素。
- By.TAG_NAME: 使用元素的标签名来定位元素。
- By.XPATH: 使用 XPath 表达式来定位元素。
- By.CSS_SELECTOR: 使用 CSS 选择器来定位元素。
find_element
方法基本用法
find_element(By, value): 根据指定的定位方式和值来定位元素,例如 find_element(By.ID, "element_id")。
click(): 点击元素。
send_keys(text): 在元素中输入文本。
clear(): 清除元素中的文本。
submit(): 提交表单元素(例如 form 标签)。
get_attribute(name): 获取元素的指定属性值,例如 element.get_attribute("href")。
text: 获取元素的文本内容,例如 element.text。
is_displayed(): 判断元素是否可见。
is_enabled(): 判断元素是否可用(enabled)。
is_selected(): 判断复选框或单选框元素是否被选中。
属性:
tag_name: 获取元素的标签名,例如 element.tag_name。
id: 获取元素的 id 属性,例如 element.id。
size: 获取元素的大小,返回一个字典,包含 width 和 height。
location: 获取元素在页面中的坐标,返回一个字典,包含 x 和 y。
value_of_css_property(property_name): 获取元素的指定 CSS