作者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://webptt.com/cn.aspx?n=bbs/Python/M.1606449410.A.9EC.html
1F:推 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
2F:推 geniusofgod: selenium 有find_element_by_name 但是如果网页上 11/27 17:05
3F:→ geniusofgod: 有多个相同name的物件 就会去抓第一个(不一定是你要) 11/27 17:06
4F:→ geniusofgod: 用find_elements_by_name 会抓全部放到list 11/27 17:06
5F:→ geniusofgod: 你原本的方式就是可以的 感觉没必要再改 11/27 17:07
6F:→ geniusofgod: 也没必要带参数 你要click的东西本身就写好参数了 11/27 17:10