我用selenium加载一个页面:http://www.legorafi.fr/接下来,我尝试单击“Tout Accepter”按钮,但即使使用css选择器,它也不起作用。是给饼干的。
我试过这样的方法:
driver.find_element_by_css_selector('').click()
这是带有文本“Tout Accepter”的蓝色按钮
我该怎么办?
首先切换到横幅框,然后单击“接受”按钮:
from selenium import webdriver
url = "http://www.legorafi.fr/"
driver = webdriver.Chrome()
driver.get(url)
driver.switch_to.frame(2)
button = "/html/body/div/div/article/div/aside/section[1]/button"
driver.find_element_by_xpath(button).click()
(我使用XPath单击按钮,但这只是个人喜好)
希望有帮助!
元素存在于iframe
中,您需要切换iframe
以访问元素。
导入WebDriverWait
(),等待frame\u可用,然后切换到\u it
()并跟随css选择器
诱导WebDriverWait
(),等待元素可点击
()并跟随xpath
driver.get("http://www.legorafi.fr/")
WebDriverWait(driver,10).until(EC.frame_to_be_available_and_switch_to_it((By.CSS_SELECTOR,"#appconsent>iframe")))
WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//span[text()='Tout Accepter']"))).click()
您需要导入以下库
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
元素托特接受器位于
>
诱导WebDriver等待所需的帧可用并切换到它。
诱导WebDriverWait使所需元素可单击。
您可以使用以下任一定位器策略:
使用
CSS\u选择器
:
driver.get('http://www.legorafi.fr/')
WebDriverWait(driver, 20).until(EC.frame_to_be_available_and_switch_to_it((By.CSS_SELECTOR,"div#appconsent>iframe")))
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "button.button--filled>span.baseText"))).click()
使用
XPATH
:
driver.get('http://www.legorafi.fr/')
WebDriverWait(driver, 20).until(EC.frame_to_be_available_and_switch_to_it((By.XPATH,"//div[@id='appconsent']/iframe")))
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//button[contains(@class, 'button--filled')]/span[contains(@class, 'baseText')]"))).click()
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
浏览器快照:
您可以在以下内容中找到一些相关讨论:
如何处理iframe下的#文档
我知道我必须切换到一个iframe当我想要点击和元素在它里面。iFrame的开头是这样的: 我使用切换到它 然后,我尝试单击Iframe中的“Join”按钮,使用它的XPath: 在一张桌子里面。 我可以选择“以前的会议”选项卡,但不能使用加入或邀请按钮。 这两个图像只是一个接着一个。
我试图用硒点击“下一页”按钮,但没有成功。我使用了正确的CSS选择器还是应该把它换成别的东西?
问题内容: HTML代码: 使用类名,我试图单击按钮,但无法单击。 我尝试了以下代码: 问题答案: 您可以尝试通过获取它。据我所记得,这只是一堂课。
问题内容: 我正在使用Java学习Selenium Webdriver。作为一个学习示例,我尝试打开MakeMyTrip,访问“ 国际航班”页面,然后单击Google Chrome中的“ 单向” 单选按钮。我尝试了其他方法来定位此单选按钮,但仍无法正常工作。请在我的代码示例下面找到。 谁能帮我解决这个问题? 问题答案: 使用以下代码:- 享受..如果仍然遇到任何问题,请与我联系:)
我正在尝试并自动导航到外部网站。为此,我需要单击一个按钮(在完整日历中显示下一周)。Vaadin的Fullcalendar插件如下所示。 该按钮在HTML中定义为(Electron 80 developer tool): 其xpath(来自Firefox 68开发工具)定义为: 所以我在Selenium IDE中添加了一个单击命令,目标字段中有以下文本: 但当然,由于所有按钮(即上一个或今天的按钮
我正在学习使用Java和Eclipse IDE的Selenium测试自动化。我正在尝试开发自己的XPAHT,但我在浏览器上安装了Chropath来帮助解决我自己无法解决的问题。在尝试与play按钮交互时,我遇到了以下问题几次。测试的目标是导航到网站的播客页面,选择一个播客,点击播放按钮。我尝试开发自己的xpath,但没有找到任何工作的xpath。我检查了Chropath插件,得到了这样的消息: 它