如何用VC++修改网页元素的值

来源:百度知道 编辑:UC知道 时间:2024/06/29 02:54:58
我已经成功的读取了所有的网页元素的值,但是不知如何修改这些元素的值?
1如何让radio被选中,
2有个输入用户名的文本框,需要单击才激活。我用PutPropertyByName将文本框的值设为我自己的用户名,但当我点“登录”按钮时,文本框被清楚,调出对话框“请输入用户名”,为什么我明明改了文本框的值,网页上也显示出来了,却没有用呢?
CComVariant v;
v=CComVariant(true);

spInputElement.PutPropertyByName(L"value", &v);
这个v不知要设为什么值?文本框对应的是文字,要选中radio应设什么值。

这是我写的一个web游戏的辅助软件的一部分

bool CMoveArmEle::ChooseAirArm(int iAirNum)
{
USES_CONVERSION;
bool bChooseArmHead = false ;
if( 7 == m_iType )//开分基地不需要指挥官
bChooseArmHead = true ;
IDispatch* pDisp = m_pHtmlView->GetForm("f1");
if( NULL == pDisp )
return false ;

CComQIPtr< IHTMLFormElement > spFormElement = pDisp;
pDisp->Release();

long nElemCount=0; //取得表单中 域 的数目
HRESULT hr = spFormElement->get_length( &nElemCount );
if ( FAILED( hr ) )
return false;

for(long j=0; j<nElemCount; j++)
{
CComDispatchDriver spInputElement; //取得第 j 项表单域
hr = spFormElement->item( CComVariant( j ), CComVariant(), &spInputElement );
if ( FAILED( hr ) ) continue;

CComVariant vName,vVal,vType; //取得表单域的 名,值,类型
hr = spInputElement.GetPropertyByName( L"name", &vName );
if( FAILED( hr ) ) continue;