簡體   English   中英

我無法在python中使用硒單擊網頁中的按鈕

[英]I m not able to click on a button in a web page using selenium in python

下面的代碼有什么問題

import os
import time
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("http://x.x.x.x/html/load.jsp")
elm1 = driver.find_element_by_link_text("load")
time.sleep(10)
elm1.click()
time.sleep(30)
driver.close()

頁面來源是

<body>   
<div class="formcenterdiv">
    <form class="form" action="../load" method="post">
      <header class="formheader">Loader</header>
      <div align="center"><button class="formbutton">load</button></div>
    </form>   
</div>


</body></html>

我想點擊按鈕加載。 當我運行上述代碼時遇到此錯誤selenium.common.exceptions.NoSuchElementException:消息:無法找到元素:load

由於文件說find_elements_by_link_text僅適用於a標簽:

當您知道錨標記中使用的鏈接文本時,請使用此選項。 使用此策略,將返回鏈接文本值與位置匹配的第一個元素。 如果沒有元素具有匹配的鏈接文本屬性,則將引發NoSuchElementException。

解決方案是使用不同的選擇器,例如find_element_by_class_name

elm1 = driver.find_element_by_class_name('formbutton')

您嘗試使用Xpath嗎?

作為OP說, find_elements_by_link_text上工作a唯一的標簽:下面的代碼可能會幫助你

driver.get_element_by_xpath("/html/body/div/form/div/button")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM