如何获取这个元素并用selenium点击它?
How to get this element and click on it with selenium?
试图让我的机器人点击提交按钮。
<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_element_by_xpath
不起作用,因为每个 post 的 xpath 都不同。我可以在这里拉什么通常有效的东西?
尝试使用 css 选择器:
driver.find_element_by_css_selector('div.usertext-buttons > button[type=submit]').click()
要单击文本为 save 的元素,您可以使用以下任一方法 :
使用css_selector
:
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()
理想情况下,要单击您必须为 element_to_be_clickable()
引入 的元素,您可以使用以下任一 定位器策略 :
使用CSS_SELECTOR
:
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
试图让我的机器人点击提交按钮。
<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_element_by_xpath
不起作用,因为每个 post 的 xpath 都不同。我可以在这里拉什么通常有效的东西?
尝试使用 css 选择器:
driver.find_element_by_css_selector('div.usertext-buttons > button[type=submit]').click()
要单击文本为 save 的元素,您可以使用以下任一方法
使用
css_selector
: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()
理想情况下,要单击您必须为 element_to_be_clickable()
引入
使用
CSS_SELECTOR
: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