2015-10-24 215 views
0

我似乎無法點擊this網站上的單選按鈕。其他的工作,但是當我嘗試點擊「我沒有MyPanera卡」的radioButton時,它只是給了我一個錯誤。這裏是我的那部分代碼:無法點擊收音機按鈕硒

radioButton = browser.find_element_by_id("mypanera_card_info") 
radioButton.click() 
+0

作爲答案含有S你需要使用id「join_card_not_available」。試試看,如果這不起作用,請更新您的問題與您使用的代碼和錯誤。 – JeffC

+0

我已經更新了我的答案。看一看。 – JRodDynamite

回答

0

我認爲id你要找的是join_card_not_availablemypanera_card_info是該標記的name屬性的值。試試這個:

radioButton = browser.find_element_by_id("join_card_not_available") 
radioButton.click() 

編輯:你想點擊應該是在屏幕的可見部分的元素。嘗試向下滾動一下&也爲webdriver設置了隱式等待(就像安全措施一樣)。

browser = webdriver.Somthing() 
browser.execute_script("$('#join_password').get(0).scrollIntoView();") 
browser.implicitly_wait(10) 

# And then perform the click 
browser.find_element_by_id("join_card_not_available").click() 
+0

我早些時候嘗試過使用它,但每次我都做到這一點,它會進入panera.com的主頁。不知道爲什麼。 – alex23434

+0

@ alex23434 - 試試這個。這應該工作。 – JRodDynamite

+0

非常感謝!它現在有效運作! – alex23434

0

單選按鈕的id"mypanera_card_info",這是"join_card_not_available"

<input type="radio" id="join_card_not_available" name="mypanera_card_info"> 

要麼使用

browser.find_element_by_id("join_card_not_available") 

browser.find_element_by_name("mypanera_card_info") 
+0

使用它的奇怪之處是一旦它達到腳本中的那一點,就會提交整個東西或其他內容並轉到panera的主頁。不知道它爲什麼這樣做。我所知道的是,只有當我使用這條線時才這樣做。 – alex23434

+0

也許這行後面的代碼不能按照你的預期工作?這個代碼通常不會被打到,因爲它通常會在該點之前出錯。 進入鏈接並執行'document.getElementById(「join_card_not_available」)。click()'的頁面與您所期望的完全一樣,單擊單選按鈕並沒有其他任何東西,所以我會假設錯誤不在那條線。 – stonesam92