单击另一个元素 Selenium 内的按钮
Clicking a button which is inside another element Selenium
HTML快照:
您好,我想按下此页面上标记为登录的按钮,该按钮的 html 如下:
<button class="">Log In</button>
问题是在使用此代码的同一页面上有多个登录按钮,因此我想通过使用按钮所在容器的 ID 来指定此按钮:
<li id = 'bs-bk-PP" class = "_2t6uLu"
如何使用这些属性找到并单击登录按钮。
谢谢
要单击文本为 登录 的元素,您可以使用以下任一方法 :
使用xpath
:
driver.find_element(By.XPATH, "//li[@id='bs-bk-PP']//button[@class and text()='Log In']").click()
理想情况下,单击您需要为 引入 WebDriverWait 的元素,您可以使用以下任一方法以下 :
使用XPATH
:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//li[@id='bs-bk-PP']//button[@class and text()='Log 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
HTML快照:
您好,我想按下此页面上标记为登录的按钮,该按钮的 html 如下:
<button class="">Log In</button>
问题是在使用此代码的同一页面上有多个登录按钮,因此我想通过使用按钮所在容器的 ID 来指定此按钮:
<li id = 'bs-bk-PP" class = "_2t6uLu"
如何使用这些属性找到并单击登录按钮。 谢谢
要单击文本为 登录 的元素,您可以使用以下任一方法
使用
xpath
:driver.find_element(By.XPATH, "//li[@id='bs-bk-PP']//button[@class and text()='Log In']").click()
理想情况下,单击您需要为
使用
XPATH
:WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//li[@id='bs-bk-PP']//button[@class and text()='Log 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