使用JavaScript选择iframe中的单选按钮

时间:2019-01-12 04:16:52

标签: javascript php

当我在test2.php中使用document.querySelector("input[value='female']").click()并选择带female值的单选按钮时,它可以正常工作,但是当test2.php位于内部时,它在test1.php中不起作用iframe。有什么办法可以解决这个问题?

test1.php

<iframe src="http://chatwithibot.com/test2.php"></iframe>

test2.php

<form action="/testx.php" method = "POST">
<input type="radio" name="gender" value="male"> Male<br>
<input type="radio" name="gender" value="female"> Female<br>
<input type="radio" name="gender" value="other"> Other
<input type="submit" value="Submit">
</form> 

编辑:重复的解决方案链接似乎仅回答有关如何从iframe中选择内容的问题,而不是如何更改它们的问题。

2 个答案:

答案 0 :(得分:1)

让我们给您的id一个iframe,以确保我们可以轻松找到它:

<iframe id="testpage" src="http://chatwithibot.com/test2.php"></iframe>

然后:

document.getElementById("testpage").contentWindow.document.querySelector("input[value='female']").click()

说明:

  • 我们找到了iframe
  • 我们使用其contentWindow.document
  • 从那时起,我们可以像您一样拨打querySelector

答案 1 :(得分:0)

必须访问iframe才能选择他内部的单选按钮。下一个代码访问实际文档中的所有iframe,并为每个iframe运行回调函数。

import google2pandas
--------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-5-83ca101dee8a> in <module>()
----> 1 from google2pandas import*

C:\Users\Anna\Anaconda2\lib\site-packages\google2pandas\__init__.py in <module>()
      6 
      7 # bring classes directly into package namespace
----> 8 from ._panalysis_ga import GoogleAnalyticsQuery, GoogleAnalyticsQueryV4, GoogleMCFQuery
      9 

C:\Users\Anna\Anaconda2\lib\site-packages\google2pandas\_panalysis_ga.py in <module>()
      2 
      3 from googleapiclient.discovery import build
----> 4 from oauth2client import client, file, tools
      5 from oauth2client.service_account import ServiceAccountCredentials
      6 from sys import stdout

ImportError: No module named oauth2client

如果仅需要访问一个iframe,请尝试以下方法:

document.querySelectorAll('iframe').forEach( item => item.contentWindow.document.body.querySelector("input[value='female']").click() )