python - 如何使用 python selenium chrome 驱动程序单击此登录按钮:
问题描述
我正在尝试使用 python selenium chrome 驱动程序选择并单击登录按钮,但是我不确定如何定义该按钮:
<button class="Wizard__AccountActionButton-mlu9la-10 fCdYqg flex justify-center items-center font-din">Sign in</button>
解决方案
要单击带有文本作为登录的元素,您可以使用以下任一定位器策略:
使用
css_selector
:driver.find_element(By.CSS_SELECTOR, "button.flex.justify-center.items-center.font-din").click()
使用
xpath
:driver.find_element(By.XPATH, "//a[contains(@class, 'flex justify-center items-center font-din') and text()='Sign in']").click()
理想情况下,要单击需要诱导WebDriverWait的元素element_to_be_clickable()
,您可以使用以下任一Locator Strategies:
使用
CSS_SELECTOR
:WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "button.flex.justify-center.items-center.font-din"))).click()
使用
XPATH
:WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//a[contains(@class, 'flex justify-center items-center font-din') and text()='Sign in']"))).click()
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC
推荐阅读
- javascript - 修改对象中的第 n 个嵌套属性
- winapi - 无法通过服务运行 cmd.exe。似乎没有命令在工作
- javascript - 从未使用过的 Javascript(Eslint) 函数
- vue.js - Vue 根据本地化更改图片
- java - 如何将方法传递给构造函数?
- python - 蟒蛇 | 使用 pandas 以块的形式加载 excel 文件(一个块与其他块用空行分隔)
- javascript - 在另一个数组上映射一个映射函数
- sharepoint - Microsoft Graph API - 如何按网站类型筛选 SharePoint 网站?
- angular - 页面重新加载后Angular 9不需要的重定向
- ios - 无法更改 MapView [Xamarin] 的大小