繁体   English   中英

如何使用 Selenium Python 在网站上单击元素

[英]How to click Elements on websites with Selenium Python

所以,我对 Python 和 HTML 不是很熟悉,但是我编写了这个代码,所以我可以在网站上的投票中投票,就我而言,这个想法在道德上没有任何问题,因为它鼓励刷新你的页面,这样您就可以一遍又一遍地为同一个人投票。 我想使用代码单击一个按钮。 下面是我到目前为止的代码

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys
import time

PATH = "C:\Program Files (x86)\chromedriver.exe"
driver = webdriver.Chrome(PATH)

driver.get("https://www.nfl.com/voting/rookies/")

所以我已经访问了网站,但我不确定我要投票的人是否有 HTML ID/Class/Element,我不确定如何使用检查元素或如果它甚至有一个 HTML ID/类/元素。 如果我想投票给像 LAC 的 Justin Herbert 这样的人,我的代码应该是什么样的? 如何使用 Python 单击 Justin 旁边的白色按钮? 谢谢!

从 driver.get 我们得到一个弹出窗口,一个 iframe 来处理,我们需要点击响应播放器的 div 标签。 您应该能够将这些步骤翻译给您的播放器。

弹出:

<div class="slidedown-footer" id="slidedown-footer"><button class="align-right primary slidedown-button" id="onesignal-slidedown-allow-button">Allow</button><button class="align-right secondary slidedown-button" id="onesignal-slidedown-cancel-button">No Thanks</button><div class="clearfix"></div></div>

Iframe:

<iframe title="Content from Riddle" style="border: none; width: 100%; position: static; opacity: 1; height: 539px !important;" src="https://www.riddle.com/a/288390"></iframe>

玩家:

<span class="list-title ng-binding" ng-bind-html="item.title">Salvon Ahmed, MIA</span>

为此,我们使用以下内容:

driver.get("https://www.nfl.com/voting/rookies/")
wait=WebDriverWait(driver, 10)
wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "#onesignal-slidedown-cancel-button"))).click()    
wait.until(EC.frame_to_be_available_and_switch_to_it((By.XPATH, "//iframe[@title='Content from Riddle']")))  
wait.until(EC.element_to_be_clickable((By.XPATH, "//span[text()='Salvon Ahmed, MIA']/parent::div/parent::div/div[2]/div"))).click()

进口

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait 
from selenium.webdriver.support import expected_conditions as EC

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM