使用python和selenium单击网页上的按钮

pkln4tw6  于 2023-01-05  发布在  Python
关注(0)|答案(2)|浏览(186)

enter image description here
我试着连接到https://coinmarketcap.com/currencies/bitcoin/,然后按下3/4的好按钮;这是下山的路。
使用Selenium时,我尝试使用get_element(By.xpath)和其他属性,当查看inspect时,我看不到我可以使用什么,因为bottons在config中看起来完全相同。
我应该使用JavaScript来执行点击吗?你会如何去选择他们与他们似乎共享相同的属性.什么将是代码点击好,什么将是点击坏,我假设它的[0]或[1]是某种形式的Js?
我使用了 selenium 元素属性,我使用了By.XPATH,'//*[@id="__next”]/div/div[1]/div[2]/div/div[3]/div/div[1]/div[2]/div[6]/div/div[2]/div/按钮[1]'
因为看起来它应该工作,但我收到. return self.execute(命令.FIND_ELEMENT,{“使用”:按“值”:值})[“值”]
谢谢你的建议。

0aydgbwb

0aydgbwb1#

因为您有元素ID,所以最好按ID搜索元素:

goodButton = browser.find_element(By.ID,"__next")

这将确保你总是选择这个元素,即使它从现有位置被替换。例如,一个广告横幅被插入到它上面。
作为一个经验法则,请记住,一个网页是期望有唯一的ID为任何元素。

vwkv1x7d

vwkv1x7d2#

试试这个:

button_class = BeautifulSoup(driver.page_source, 'html.parser').select('div', class_='button-group')[0].button['class']
button_class = ' '.join(button_class)

WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, f"//button[@class='{button_class}']"))).click()

相关问题