猿问

Python Selenium:单击单选按钮

我想知道如何使用 Python Selenium 单击此页面上的按钮。


这是网页:


https://hk.news.yahoo.com/poll/f83b2360-b41c-11e9-8d6b-b77be6568e98


按钮的源代码是:


<label class="option Cur(p) Ov(h) D(b) Pos(r) Bxsh($BorderLikeBoxShadow) Bdc($borderGray) Px(15px) Py(23px)" data-reactid="43">

 <div class="Pos(r) D(tb)" data-reactid="44">

  <div class="D(tbc) Ta(c) Va(m)" data-reactid="45"><input type="radio" value="o0" class="D(n) check" name="option" data-reactid="46"><img class="Trsdu(.3s) Op(0.7) Fil($opacityMsOld) Mend(15px) W(26px) H(26px)" src="https://s.yimg.com/ji/news/ybrain/unselect@1x.png" alt="" data-reactid="47"></div>

  <div class="D(tbc) Va(m) Lh(1.5) C($c-fuji-grey-i) LineClamp(1) Fz(16px)" data-reactid="48">支持</div>

 </div>

</label>

我尝试了如下脚本,但没有成功。


import os

import glob

from selenium import webdriver

from selenium.webdriver.support.wait import WebDriverWait

from selenium.webdriver.support import expected_conditions as EC

from selenium.common.exceptions import WebDriverException


options = webdriver.ChromeOptions()

options.add_argument('window-size=1920x1080')


link_url="https://hk.news.yahoo.com/poll/f83b2360-b41c-11e9-8d6b-b77be6568e98"


driver = webdriver.Chrome('chromedriver', chrome_options=options)

driver.get(link_url)


driver.find_elements_by_xpath("//*[@type='radio']")[0].click()

有什么建议么?谢谢!


人到中年有点甜
浏览 148回答 1
1回答

弑天下

使用 WebdriverWait 和 javaScript Executor 使用下面的 xpath 单击元素。element=WebDriverWait(driver,10).until(EC.presence_of_element_located((By.XPATH,"(//label[contains(@class,'option Cur(p) Ov(h) D(b) Pos(r)')]//div[contains(@class,'D(tbc) Va(m)')])[1]")))driver.execute_script("arguments[0].click();",element)或者element=WebDriverWait(driver,10).until(EC.presence_of_element_located((By.XPATH,"(//label[contains(@class,'option Cur(p) Ov(h) D(b) Pos(r)')]//img)[1]")))driver.execute_script("arguments[0].click();",element)您需要导入以下内容。from selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as EC
随时随地看视频慕课网APP

相关分类

Python
我要回答