繁体   English   中英

我如何使用 selenium python 在 cr 按钮上按下 enter

[英]how do i press enter on a cr-button with selenium python

# import the webdriver
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import time
import csv
from math import floor

PATH = r'C:\Users\jj\chromedriver.exe'
driver = webdriver.Chrome(PATH)
driver.maximize_window()
driver.get('chrome://settings/clearBrowserData')

在这一点上,我从谷歌得到一个弹出窗口。

我试过使用一堆不同的变体:

1) driver.switch_to.alert.send_keys(Keys.ENTER)
2) driver.switch_to.active_element.send_keys(Keys.ENTER)
3) driver.switch_to.active_element.find_element(By.ID, "clearBrowsingDataConfirm").send_keys(Keys.ENTER)
4) driver.find_element(By.XPATH, '//button[normalize-space(text())="Clear data"]')
   since the actual text has leading and trailing spaces.
5) driver.find_element(By.ID, "clearBrowsingDataConfirm").send_keys(Keys.ENTER)
6) driver.find_element(By.CSS_SELECTOR,"* /deep/ #clearBrowsingDataConfirm").click();

我也尝试过pyautogui并使用pyautogui.hotkey('enter')

没有任何工作。 另外,如果它是一个 cr-button,为什么我需要找到一个元素? 为什么我不能以某种方式按回车键?

我不断得到:

selenium.common.exceptions.NoSuchElementException

如果我没理解错的话,您会尝试点击一个显示“清除浏览数据”的按钮。 要单击带有 selenium 的按钮,请使用 .click()。

例如你可以试试

driver.find_element(By.ID, "clearBrowsingDataConfirm").click()

您还可以复制元素 XPATH 并使用它来定位元素,然后执行 do.click()。

如果这不起作用,请尝试

driver.find_element(by=By.ID, value='clearBrowsingDataConfirm').click()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM