Python 如何获取此元素并使用selenium单击它?
试图让我的机器人点击提交按钮Python 如何获取此元素并使用selenium单击它?,python,selenium,xpath,css-selectors,webdriverwait,Python,Selenium,Xpath,Css Selectors,Webdriverwait,试图让我的机器人点击提交按钮 <div class="usertext-buttons"> <button type="submit" onclick="" class="save">save</button> <button type="button" onclick="return cancel_usertext(this);" class="cancel" style="display:none">cancel</button>
<div class="usertext-buttons">
<button type="submit" onclick="" class="save">save</button>
<button type="button" onclick="return cancel_usertext(this);" class="cancel" style="display:none">cancel</button>
<span class="status"></span></div>
拯救
取消
我想用type=“submit”
driver.find\u element\u by\u xpath
不起作用,因为每个帖子的xpath都不同。我可以在这里拉什么,通常是有效的 尝试使用css选择器:
driver.find_element_by_css_selector('div.usertext-buttons > button[type=submit]').click()
尝试使用css选择器:
driver.find_element_by_css_selector('div.usertext-buttons > button[type=submit]').click()
要单击文本为“保存”的元素,可以使用以下任一选项:
- 使用
:css\u选择器
driver.find_element_by_css_selector("button.save[type='submit'][onclick]").click()
- 使用
:xpath
driver.find_element_by_xpath("//button[@class='save' and text()='save'][@type='submit' and @onclick]").click()
理想情况下,要单击元素,您必须使
元素可单击()
,并且您可以使用以下任一定位器策略:
- 使用
:CSS\u选择器
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "button.save[type='submit'][onclick]"))).click()
- 使用
:XPATH
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//button[@class='save' and text()='save'][@type='submit' and @onclick]"))).click()
- 注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC
- 使用
:css\u选择器
driver.find_element_by_css_selector("button.save[type='submit'][onclick]").click()
- 使用
:xpath
driver.find_element_by_xpath("//button[@class='save' and text()='save'][@type='submit' and @onclick]").click()
理想情况下,要单击元素,您必须使
元素可单击()
,并且您可以使用以下任一定位器策略:
- 使用
:CSS\u选择器
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "button.save[type='submit'][onclick]"))).click()
- 使用
:XPATH
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//button[@class='save' and text()='save'][@type='submit' and @onclick]"))).click()
- 注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC