我在網頁中有一個“onclick”元素,<a href="javascript:void(0)" onclick= "toIndexHtml('3','http://xxxxxxxxxxx/trade','0')"><i></i><span></span>trade</a>它在網頁中顯示為一個按鈕,我想點擊它,我嘗試使用以下代碼搜索它:driver.find_element_by_xpath("//a[contains(@onclick,'toIndexHtml')]").click()WebDriverWait(driver, 20).until( EC.element_to_be_clickable((By.XPATH,"/html/body/div/ul/li[3]/a"))).click()兩個都不行,請指教有沒有其他方法!提前致謝!PS:我使用的是 Chrome WebDriver 和 Chrome v64。
1 回答

函數式編程
TA貢獻1807條經驗 獲得超9個贊
您的第一個定位器看起來很完美,應該可以正常工作。
理想情況下,要單擊需要引發WebDriverWait 的元素element_to_be_clickable()
,您可以使用以下任一定位器策略:
使用CSS_SELECTOR:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "a[onclick^='toIndexHtml']"))).click()
使用XPATH:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "http://a[starts-with(@onclick,'toIndexHtml')]"))).click()
注意:您必須添加以下導入:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
添加回答
舉報
0/150
提交
取消