![](/img/trans.png)
[英]Javascript - Nothing happens when I click this button connected to a function
[英]Selenium Chrome Driver: Javascript on click function. element not visible or nothing happens
因此,我正在研究一個腳本,該腳本可自動為MDM生成VMWare的Airwatch令牌。 它正在運行,但是他們更新了服務器/ Airwatch控制台,並且此javascript onclick函數將其破壞了。 我已經搜索了各種論壇和帖子,但運氣不佳。 如果我有硒找到元素並在其上單擊.click(),則會收到不可見/不可交互的錯誤。 目前,我有:
addButton=driver.find_element_by_css_selector("a.add.profile.small")
webdriver.ActionChains(driver).move_to_element(addButton).perform().click(addButton)
並且沒有錯誤發生,但是它什么也沒做。
當手動將鼠標移到按鈕上時,它將變為手形而不是指針,並且按鈕的背景色也會改變。
這是元素屬性的片段:
<a class="add profile small" onclick="F5_r2u();F5_Event_common(event);
try{return(eval(F5_Invoke_eval_event(null,F5_jsBody(function(){addTagRow(this);
}))))}finally{try{F5_Event_finally(event)}catch(e){}}">Add</a>
selector: #\31 34364e7_Tag_Plural > a
xpath: //*[@id="134364e7_Tag_Plural"]/a
有什么建議嗎?
相當確定我需要將Selenium懸停在按鈕上,然后單擊它或執行javascript。 雖然不知道如何做到這一點。
當您從“ User
Tags
切換到“ Tags
,需要等到可見“ ADD
按鈕
# click tab Tags
tabTags = driver.find_element_by_css_selector('tab.tags.selector').click()
# wait until visible
addButton = WebDriverWait(driver, 5).until(EC.presence_of_element_located((By.CSS_SELECTOR, 'a.add.profile.small')))
addButton.click()
使用ActionChains可能像這樣
tabTags = driver.find_element_by_css_selector('tab.tags.selector')
addButton = driver.find_element_by_css_selector("a.add.profile.small")
actions = webdriver.ActionChains(driver)
actions.click(tabTags)
actions.click(addButton)
actions.perform()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.