1
有網頁上的按鈕,看起來像這樣:Python的硒不能在點擊鏈接(不裏面的iframe)
<button class="WAXG WEXG WKKH WOWG WPO" tabindex="0" data-automation-activebutton="true" aria-hidden="false" aria-disabled="false" data-automation-id="wd-ActiveList-addButton" role="button" data-automation-button-type="AUXILIARY" title="Add" type="button"><span class="WFXG WBXG"></span><span class="WCXG" title="Add">Add</span></button>
我用下面的代碼按一下按鈕:
xpath = "//button[@data-automation-id='wd-ActiveList-addButton']"
add = WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.XPATH, xpath)))
add.click()
它總是會導致以下錯誤:
selenium.common.exceptions.TimeoutException: Message:
我已經用不同的方式來尋找元素,然後單擊嘗試,但總是得到相同的錯誤。該按鈕不在iframe內。此外,我可以訪問/點擊按鈕周圍的所有元素。由於錯誤信息是空的,我無法確定爲什麼發生這種情況。
編輯
下面是來自檢查者周圍的一些代碼:
<div class="WF-M WFN WOYM WEYM" id="wd-SectionView-NO_METADATA_ID">
<div class="WH-M">
<div class="WOO WFN" data-automation-id="activeList" id="wd-ActiveList- 6$87772">
<div class="WHP">
</div>
<button class="WAXG WEXG WKKH WOWG WPO" tabindex="0" data-automation-activebutton="true" aria-hidden="false" aria-disabled="false" data-automation-id="wd-ActiveList-addButton" role="button" data-automation-button-type="AUXILIARY" title="Add" type="button">
<span class="WFXG WBXG"></span>
<span class="WCXG" title="Add">Add</span>
</button>
</div>
</div>
</div>
如果你嘗試一下跨度而不是按鈕? 'xpath =「// span [@ title ='Add']」'?有可能這個按鈕實際上不可見或者大小爲0。這裏不太可能給出'html',但是可能的。您也可以嘗試使用devtools或firepath來查看將鼠標放在按鈕上時突出顯示的元素,因爲它實際上可能是包含該按鈕的元素。 – mrfreester
檢查這是否是唯一具有指定選擇器的元素print(len(driver.find_elements_by_xpath(「// button [@ data-automation-id ='wd-ActiveList-addButton']」)))'。可能有同樣的隱藏按鈕 – Andersson
@mrfreester我仍然使用'xpath =「// span [@ title ='Add']」'得到相同的錯誤。當我點擊按鈕時,Firepath會爲按鈕生成以下xpath:'.//*[@ id ='wd-ActiveList-6 $ 87772']/button'。 – raul