我試圖用selenium來點擊一個帶有x-onclick屬性而不是onclick的元素。
我正在使用這個元素的xPath來點擊它。
driver.execute_script("arguments[0].click();", element)/code>
element.click()
但這些都不起作用。如果有人能告訴我一個解決方案,我將非常高興。
uj5u.com熱心網友回復:
當你嘗試這樣做時
driver.execute_script("arguments[0].click();"/span>, element)
element是一個web元素。我不知道你是否已經定義了它。如果沒有定義,那么你一定是得到了編譯時錯誤。
無論如何,這看起來是一個錯誤。
無論如何,這在我看來是一個基于angular的應用程式。所以我想用下面的代碼試驗來試試:
有4種方法可以讓你的程式變得更好。
在Selenium中,有4種點擊方式。
我將使用這個xpath
/a[@id='generater' and @x-onclick]
代碼試用1 :
time.sleep(5)
driver.find_element_by_xpath("/a[@id='generater' and @x-onclick]").click()
代碼試用2 :
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "/a[@id='generater' and @x-onclick]")) .click()
代碼試用3 :
time.sleep(5)
button = driver.find_element_by_xpath("/a[@id='generater' and @x-onclick]")
driver.execute_script("arguments[0].click();", button)
代碼試用4 :
time.sleep(5)
button = driver.find_element_by_xpath("/a[@id='generater' and @x-onclick]"/span>)
ActionChains(driver).move_to_element(button).click().perform()
匯入 :
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.action_chains import ActionChains
uj5u.com熱心網友回復:
你是否嘗試過通過使用標簽'a' 和 'id'來創建xpath,使用簡單的Selenium webdriver點擊方法。
ele = driver.find_element_by_xpath("/a[@id='enerater']")
ele.click()
or
driver.find_element_by_xpath("/a[@id='generater']").click()
如果上述xpath 是唯一的,那么它應該作業 否則使用JavaScript 用于點擊上述元素 'ele'。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/309725.html
標籤:
