Home > OS >  Click button in using VBA Chrome selenium
Click button in using VBA Chrome selenium

Time:12-06

Good night
I want to click the upload image button using chrome selenium
I've tried to code, but it doesn't work

Sub trial()
Dim ch As Selenium.ChromeDriver
    ch.Start
    ch.Get "https://sellercenter/product/publish"
    
    ch.FindElementByClass("next-btn next-medium next-btn-primary").Click
end sub



this is the html code

<button type="button" class="next-btn next-medium next-btn-primary" role="button">Upload Image</button>
<iframe name="sif1" sandbox="allow-forms allow-modals allow-scripts" frameborder="0"></iframe>

enter image description here

enter image description here


Would appreciate any advice on how to click this button using the Selenium in Excel VBA, thanks.

CodePudding user response:

By.CLASS_NAME accepts a single classname. So you can't pass multiple classnames with in FindElementByClass().

To click() on the element Upload Image you can use either of the following Locator Strategies:

  • Using FindElementByCss:

    ch.FindElementByCss("a.next-btn.next-medium.next-btn-primary").Click
    
  • Using FindElementByXPath:

    ch.FindElementByXPath("//a[@class='next-btn next-medium next-btn-primary' and text()='Upload Image']").Click
    

CodePudding user response:

First thing in selenium when you are writing selectors, always check their occurrence. If you want to click on particular element then selector should show 1 matching count. Now here you have use class value which looks like it have more than one matching node as well as you can use class value this way in selenium when there is more than one class(more words separated by space in class value).

So here I would recommend to use below xpath and before using it in your code, verify it if it is showing one matching node-

//button[text()='Upload Image']
  • Related