如何使用 selenium web 驱动程序访问当前选项卡中新打开的小选项卡 python
How to access newly opened small tab in the current tab using selenium web driver python
我点击了下面的登录按钮 link,它在同一个 window 中打开了一个小选项卡。我想访问当前的小选项卡并填写信息。 url:https://www.tajawal.ae/en 请建议我如何使用 python selenium webdriver
我检查了你分享的URL,小的tab/web弹出窗口既没有出现在新的框架中也没有出现在新的window中,所以你不需要做[=25] =] 开关。您可以简单地访问弹出元素
In-case,如果您曾尝试在小弹出窗口中与 'email' 输入框进行交互,如果没有成功,请查看我下面的回答。
您有 2 个具有相同名称(属性名称)的电子邮件输入框 - “电子邮件”,一个在弹出窗口中,另一个在订阅时事通讯部分的同一页面中。如果您曾尝试在弹出窗口的 电子邮件 输入框中输入内容,它就会进入时事通讯部分。 因此要在弹出的电子邮件输入框中正确输入,请使用 xpath --> (//input[@name='email'])[2]
将字符序列发送到网站 Email 和 Password 字段 https://www.tajawal.com/en you need to induce for the element_to_be_clickable()
and you can use either of the following :
使用XPATH
:
driver.get("https://www.tajawal.com/en")
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//button[@data-testid='Header__SignInButton']"))).click()
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//label[text()='Email']//following::input[@name='email']"))).send_keys("paul@paul.paul")
driver.find_element_by_xpath("//label[text()='Password']//following::input[@name='password']").send_keys("paul@paul.paul")
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
浏览器快照:
我点击了下面的登录按钮 link,它在同一个 window 中打开了一个小选项卡。我想访问当前的小选项卡并填写信息。 url:https://www.tajawal.ae/en 请建议我如何使用 python selenium webdriver
我检查了你分享的URL,小的tab/web弹出窗口既没有出现在新的框架中也没有出现在新的window中,所以你不需要做[=25] =] 开关。您可以简单地访问弹出元素
In-case,如果您曾尝试在小弹出窗口中与 'email' 输入框进行交互,如果没有成功,请查看我下面的回答。
您有 2 个具有相同名称(属性名称)的电子邮件输入框 - “电子邮件”,一个在弹出窗口中,另一个在订阅时事通讯部分的同一页面中。如果您曾尝试在弹出窗口的 电子邮件 输入框中输入内容,它就会进入时事通讯部分。 因此要在弹出的电子邮件输入框中正确输入,请使用 xpath --> (//input[@name='email'])[2]
将字符序列发送到网站 Email 和 Password 字段 https://www.tajawal.com/en you need to induce element_to_be_clickable()
and you can use either of the following
使用
XPATH
:driver.get("https://www.tajawal.com/en") WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//button[@data-testid='Header__SignInButton']"))).click() WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//label[text()='Email']//following::input[@name='email']"))).send_keys("paul@paul.paul") driver.find_element_by_xpath("//label[text()='Password']//following::input[@name='password']").send_keys("paul@paul.paul")
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC
浏览器快照: