作者ChanSui (肥宅eeee)
看板Python
標題[問題] 用selenium 勾選 checkbox 問題
時間Fri Nov 27 11:56:48 2020
各位大大您好
小弟最近遇到一個問題
heml如下
<tr>
<td valign="middle">
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td><input name="_EinsPubFav11"
onclick="AdvTreeClickEinForm0("EinForm0","","EinsPubFav11",event);"
type="CHECKBOX"></td>
<td valign="top"><a
href="javascript:AdvTreeExpandEinForm0("EinForm0","EinsPubFav11")"><img
src="/ImgTmp/CPN_EIPWEB_EIPadv_tree0002.gif" border="0" height="20"
width="19"></a></td>
<td><a
href="javascript:AdvTreeExpandEinForm0("EinForm0","EinsPubFav11")"
class="Default">台北全體員工</a></td>
</tr></tbody></table></td>
</tr>
因為是checkBox 沒有id 也沒有nema 屬性讓我尋找
所以做法是使用 css_selector 來尋找
browser.find_element_by_css_selector("input[name='_EinsPubFav11']").ckick()
原本也有查到使用find_element_by_xpath 但這方法好像也行不通都會跑錯誤訊息
想問一下大大 如果我需要勾選Checkbox的話該怎麼改比較好?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.59.162.19 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1606449410.A.9EC.html
推 rexyeah: onclick會fire AdvTreeClickEinForm0 要給參數 11/27 13:52
不好意思 這部分要給參數的原因我不太清楚
checkbox 在做click的時候不能單純像是按鈕一樣嗎?
find_element_by_name("_EinsPubFav11").click()
※ 編輯: ChanSui (210.59.162.19 臺灣), 11/27/2020 14:23:29
推 geniusofgod: selenium 有find_element_by_name 但是如果網頁上 11/27 17:05
→ geniusofgod: 有多個相同name的物件 就會去抓第一個(不一定是你要) 11/27 17:06
→ geniusofgod: 用find_elements_by_name 會抓全部放到list 11/27 17:06
→ geniusofgod: 你原本的方式就是可以的 感覺沒必要再改 11/27 17:07
→ geniusofgod: 也沒必要帶參數 你要click的東西本身就寫好參數了 11/27 17:10