我无法使用以下代码单击链接:
<div class="qrcode-footer-text" ng-click="toggleQRLoginFormView()" tabindex="0">
<span ga-clickevent="" screen-name="auth-init/QRlogin" event-category="login_v2" user-actions="login_clicked" event-action="login_clicked" event-type="customEvent" event-label="">Login/Signup with mobile number and password</span>
</div>
driver = webdriver.Firefox()
url = 'https://paytm.com/loan-emi-payment'
driver.get(url)
driver.find_element_by_xpath('//div[contains(@class,"_3SzD")]').click()
time.sleep(5)
iframe = driver.find_elements_by_tag_name('iframe')[0]
driver.switch_to.frame(iframe)
driver.implicitly_wait(10)
driver.find_element_by_xpath('//span[contains(@screen-name,"auth-init/QRlogin")]').click()
答案 0 :(得分:0)
您通过使用 ng-click 属性提供了HTML代码。它应用于不可点击的<div>
节点。元素为{{3 }}元素。
我在Java中运行此代码。
为此,我可以使用Angular单击“使用手机号码和密码登录/注册” 按钮。
WebElement element= driver.findElement(By.cssSelector(".qrcode-footer-text"));
JavascriptExecutor executor = (JavascriptExecutor) driver;
executor.executeScript("arguments[0].click();", element);
executeScript:-
此方法在Selenium中当前选定的框架或窗口的上下文中执行JavaScript。此方法中使用的脚本在匿名函数(没有名称的函数)的主体中运行。我们还可以将复杂的参数传递给它。
脚本可以返回值。返回的数据类型为
**注意:您必须添加以下导入:
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebElement;