Я новичок в casperjs, и, насколько я узнал до сих пор, есть только два метода нажмите, которые могут вызвать действие мыши:casperjs, может потребоваться другой метод?
click()
требует выбораclickLabel()
требует «ярлыка» между теги
Веб-сайт, с которым я сейчас имею дело, имеет динамические «вкладки», при нажатии каждой вкладки запускается javascript submit, нет никаких «классов», «id» или «label», связанных с каждой вкладкой , за исключением элемента "pic":
<a href="javascript:submitTab('search6')" tabindex="6">
<img src="image6off.gif" name="imag6" height="6" hspace="0" vspace="0" border="0" onmouseover="nbGroup('over','imag6','image6on.gif','image6on.gif',1);" onmouseout="nbGroup('out');" onclick="nbGroup('down','group1','imag6','image6off.gif',1); submitTab('search6')" alt="New Search">
</a>
Я попытался использовать clickLabel()
, но не смог.
Да, я могу использовать XPath, однако проблема заключается в том, что количество вкладок динамическое в зависимости от доступной информации для каждой записи, поэтому в этом случае «новый поиск» может быть вкладкой 6 для этой записи, но вкладка 4 в другой , вкладка 8 в другой.
Да, я мог бы попытаться написать «петлю» для перебора всех доступных вкладок, потенциально, однако, если есть один метод щелчка который совмещает
waitForResource()
, что было бы здорово, так как я может использовать «image6on.gif», чтобы сообщить программе, какой образ или вкладку щелкнуть, по-видимому, для этого веб-сайта, я узнал, что каждая отдельная программа вкладок javascript уникально связана с одним «image # on/off.gif»
Надеюсь, что какой-то вкладчик для casperjs может легко реализовать этот метод, чтобы справиться с такой ситуацией.
Кстати, если есть другой способ обойти его, пожалуйста, научите меня, в частности, как нажать на конкретную вкладку, номер которой не связан с полем записи позади нее, но я хочу конкретную область записи, а не информацию № # вкладки, я надеюсь, что я достаточно конкретный – user2684276
Большое спасибо за вашу работу по редактированию, rgettman – user2684276