当前位置: 首页 > 知识库问答 >
问题:

无法使用xpath找到元素(Python和selenium)

徐君植
2023-03-14

我尝试使用Python selenium(新的)做一些自动化。不幸的是,检查特定网页的元素不仅仅是困难的。没有id可以使用,我尝试xpath。我想选择一个下拉列表,我检查这个元素,然后复制xpath,它是//*[@id="frmMain:purchase_criteria_tab"]/div[13]/div[1]/div/按钮

我的代码是:

    NEXT_BUTTON_XPATH = "//*[@id='frmMain:criteria:purchase_criteria_tab']/div[13]/div[1]/div/button"
wait = WebDriverWait(driver, 10)
condition = expected_conditions.presence_of_element_located(
    (By.XPATH, NEXT_BUTTON_XPATH))
button = wait.until(condition)
button.click()

我不明白这个元素有什么想法吗?提前谢谢你。

共有2个答案

邢新
2023-03-14

您可以使用以下语法单击元素:

WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.XPATH, "//*[@id='frmMain:criteria:purchase_criteria_tab']/div[13]/div[1]/div/button"))).click()

注意:您必须添加以下导入:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
苗冯浩
2023-03-14

试试这个

from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait 
try:
    # for click element element_to_be_clickable condition used
    button = WebDriverWait(driver, 10).until(EC.element_to_be_clickable(By.XPATH, "elemnt_xpath"))) 
    button.click()

except Exception as e:
    print(e)
 类似资料: