我正在尝试使用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'
答案 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代码;它遵循一些非常简单的转换规则,如果您仍有疑问,库本身的所有代码也将在您的机器上查看。