from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
工作代码:
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.support.ui import WebDriverWait
from selenium import webdriver
driver = webdriver.Chrome(executable_path=r"path for chromedriver.exe")
driver.maximize_window()
wait = WebDriverWait(driver, 10)
driver.get("https://members.bet365.com/members/services/host?Microsite=Members&MrsReq=True&DisplayMode=Desktop&prdid=1&platform=1&lng=1&mh=2&ptqs=%2Fhe%2FAuthenticated%2FHistory%2FDisplay%2F%3Frt%3D2%26ht%3D4")
WebDriverWait(driver, 30).until(
EC.presence_of_all_elements_located((By.ID, "MembersHostFrame")))
iframe=driver.find_element_by_tag_name("iframe")
driver.switch_to.frame(iframe)
wait.until(EC.element_to_be_clickable((By.NAME, "ctl00$Main$login$UserName"))).send_keys("Example123")
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
您可以使用下面的代码打开框架
您可以使用以下代码切换回主窗口:
已更新部分以等待出现帧:
注意::::请将以下导入添加到您的解决方案中
工作代码:
输出:
我认为这应该回答你的问题。 Select iframe using Python + Selenium
您需要切换到iframe,然后找到元素。你的假设是正确的。根据提供的链接中的注释,您可能需要使用xpath从iframe中获取数据
要访问
iframe
中的元素,需要首先切换到iframe
诱导
WebDriverWait
()并等待frame_to_be_available_and_switch_to_it
(),然后使用以下ID
、Name
、Xpath
或css
选择器ID:
名称:
Xpath:
Css选择器:
您需要导入以下库
相关问题 更多 >
编程相关推荐