当我在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中选择内容的问题,而不是如何更改它们的问题。
答案 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()
)