如何使用selenium选择单选按钮

时间:2013-04-17 18:41:51

标签: python html selenium

我正在尝试使用selenium和python单击此单选按钮。

<input type="radio" name="tweet_target_1" value="website" class="tweet-website-button radio-selection-validate serialize-me newline-before field-order-15">

我有

website = driver.find_element(name="tweet_target_1")
website.click()

但它不允许我点击它。如何使用名称,值或类,值等组合单击?

是否有关于如何使用硒的良好信息来源?因为我发现的大部分内容都是在java上,而我正在使用python。

编辑:使用XPATH

我试过

website = driver.find_elements(By.XPATH, "//form[@id='dmca_form' and @class='twitter-form custom-form']/div[20][@class='list-container']/div[1][@class='list-item']/div[7][@class='clearfix inf-tweet init-hide']/div[@class='input']/ul[@class='options']/li[2]/label/input[@class='tweet-website-button radio-selection-validate serialize-me newline-before field-order-15']/")
website.click()

我一直在

AttributeError: 'list' object has no attribute 'click'

2 个答案:

答案 0 :(得分:2)

我知道这可能有点太迟了,但最近才加入。

提示:使用,Firebug和Firepath。找到单选按钮,找出相关元素的xpath。

website = driver.find_element_by_xpath(".//**")
website.click()

OR

website = driver.find_element_by_xpath(".//**").click()

这应该在您尝试时始终有效。另外,只使用from selenium import webdriver 应该使click()功能正常工作。

答案 1 :(得分:1)

我不确定您在哪里找到了可以称之为find_element的文档,但您应该执行driver.find_element_by_name("tweet_target_1")driver.find_element(By.NAME, "tweet_target_1")(首次导入{{1} }} 当然)。此外,Selenium Java代码很容易转换为Python代码;它遵循一些非常简单的转换规则,如果您仍有疑问,库本身的所有代码也将在您的机器上查看。