2016-05-18 44 views
0

正如標題,我有一些麻煩硒點擊一個單選按鈕,因爲它認爲它會點擊一個div元素,而不是上:選擇由div元素覆蓋硒單選按鈕

重要注:

我忘了提及div是由使用jQuery的javascript函數觸發的。

/結束注

selenium.common.exceptions.WebDriverException:消息:未知錯誤:元素不是在點(725,597)點擊。其他元素將收到點擊:...

關於這個令人討厭的部分是,單選按鈕不是div的子元素,它的大小足夠大,以便放置收音機的區域。 我已經嘗試使用:

element = WebDriverWait(driver, 20).until(
    EC.visibility_of_element_located((By.CSS_SELECTOR, "#exportValuesLabelsCSV3.radio")) 

除了預期的條件類的其他方法,但沒有任何工程。

+0

您是否嘗試過最大化瀏覽器窗口?謝謝。 – alecxe

+0

是的,瀏覽器窗口是最大的。 –

回答

0

這個問題的解決方法是檢查是否jQuery是做與頁面鬼混:

element = WebDriverWait(driver, 20).until(
      lambda s: s.execute_script("return jQuery.active == 0")) 

所執行的腳本返回一個布爾值,因此:

if element: 
      csvRadio = driver.find_element_by_css_selector("#exportValuesLabelsCSV3.radio") 
      csvRadio.click() 
     else: 
      pass 

我希望這可以幫助別人否則在未來:)