我似乎無法點擊this網站上的單選按鈕。其他的工作,但是當我嘗試點擊「我沒有MyPanera卡」的radioButton時,它只是給了我一個錯誤。這裏是我的那部分代碼:無法點擊收音機按鈕硒
radioButton = browser.find_element_by_id("mypanera_card_info")
radioButton.click()
我似乎無法點擊this網站上的單選按鈕。其他的工作,但是當我嘗試點擊「我沒有MyPanera卡」的radioButton時,它只是給了我一個錯誤。這裏是我的那部分代碼:無法點擊收音機按鈕硒
radioButton = browser.find_element_by_id("mypanera_card_info")
radioButton.click()
我認爲id
你要找的是join_card_not_available
。 mypanera_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()
我早些時候嘗試過使用它,但每次我都做到這一點,它會進入panera.com的主頁。不知道爲什麼。 – alex23434
@ alex23434 - 試試這個。這應該工作。 – JRodDynamite
非常感謝!它現在有效運作! – alex23434
單選按鈕的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")
使用它的奇怪之處是一旦它達到腳本中的那一點,就會提交整個東西或其他內容並轉到panera的主頁。不知道它爲什麼這樣做。我所知道的是,只有當我使用這條線時才這樣做。 – alex23434
也許這行後面的代碼不能按照你的預期工作?這個代碼通常不會被打到,因爲它通常會在該點之前出錯。 進入鏈接並執行'document.getElementById(「join_card_not_available」)。click()'的頁面與您所期望的完全一樣,單擊單選按鈕並沒有其他任何東西,所以我會假設錯誤不在那條線。 – stonesam92
作爲答案含有S你需要使用id「join_card_not_available」。試試看,如果這不起作用,請更新您的問題與您使用的代碼和錯誤。 – JeffC
我已經更新了我的答案。看一看。 – JRodDynamite