Jump to content
Sign in to follow this  
GoldenMike

Selenium / Beautiful Soup / AutoItScript automation

Recommended Posts

GoldenMike

I've been using AutoIt for years, I love it and it has helped me greatly. I recently started learning other languages to help expand my knowledge and found that other languages are much faster in some regards.

I'm trying to automate a login to http://www.eedistribution.com/. I have tried this for IE with BeautifulSoup:

driver = webdriver.Ie("D:\\Python\\IEDriverServer32.exe")
driver.get("http://www.entertainmentearth.com/eedistribution.asp")
inputName = driver.find_element_by_name("custnum").send_keys("user")
passWord = driver.find_element_by_name("password").send_keys("password")
submit = driver.find_element_by_xpath("//input[@type='image']").click()

and this for firefox with BeautifulSoup:

driver = webdriver.Firefox()
driver.get("http://www.eedistribution.com/")
inputName = driver.find_element_by_name("custnum").send_keys("user")
passWord = driver.find_element_by_name("password").send_keys("password")
submit = driver.find_element_by_xpath("//input[@type='image']").click()

The website has two sides. Wholesale distribution and consumer. For some reason when I use the above scripts it takes me to the consumer side when I want to go to the wholesale side. If I manually enter user / password then I get into the wholesale side, and if use AutoIt it takes me to the wholesale side as well (this is where I want to go). I can't seem to figure out why?

Here is the AutoItScript:

oIE = _IEAttach("ee")
$user = _IEGetObjByName($oIE, "custnum")
$login = _IEGetObjByName($oIE, "password")
$oInputs = _IETagNameGetCollection($oIE, "input")
$user.value = "user"
$login.value = "password"
For $oInput in $oInputs
   If StringInStr($oInput.outerhtml, "signin_white.gif") > 0 Then
      $oInput.click()
      ExitLoop
   EndIf
Next

I apologize in advance for this not strictly being a AutoIt question, but am trying to learn more about how the web works in general and can't seem to understand this. As I am not a programmer and completely self taught I thought maybe someone with more experience might have an answer for this.

Thanks,

 

Mike

Share this post


Link to post
Share on other sites
GoldenMike

Danp2,

Thank you. I feel pretty dumb now. There is another input search I did not see. Should have assumed that if they did it in one place, they would do the other as well.

Thanks,

Mike

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Similar Content

    • Zein
      By Zein
      #include "..\Include\Array.au3" #include "..\Include\File.au3" #include "..\Include\AutoItConstants.au3" Local $aRetArray Local $sFilePath = "n.csv" _FileReadToArray($sFilePath, $aRetArray, ",") ; _FileReadToArray($sFilePath, $aRetArray, $FRTA_COUNT, ",") _ArrayDisplay($aRetArray, "Original", Default, 8) The above code shows two versions of _FileReadToArray and both don't work as expected.
      The first one doesn't use the comma as a delimiter. (so I get a single column array)  I tried adding "Default" between $aRetArray and "," then it told me it had an incorrect number of parameters. 

      I looked again at the documentation:
       
      #include <File.au3> _FileReadToArray ( $sFilePath, ByRef $vReturn [, $iFlags = $FRTA_COUNT [, $sDelimiter = ""]] )
      And I with or without the flags params I should be getting a 2D array due to my file being a csv. 
      I then tried a regular flag, $FRTA_COUNT, and it tells me that I'm using a variable $FRTA_COUNT while it's not declared. Tried putting in 1 instead and it told me again, incorrect number of params. 

       
    • nooneclose
      By nooneclose
      I need to perform a subtotal in excel and I would like to automate this process using Autoit if possible like always any and all help will be greatly appreciated. 
      I can not find a good example but the two from Microsoft. Here is one of the two from msdn.microsoft.com/en-us/vba/excel-vba/articles/range-subtotal-method-excel
      I do not really understand how to translate this into AutoIt, but I gave it a try and here is what I have.
      $OpenRange      = "A1:E200" $xlSum          = -4157 $Added_Array[2] = [2, 3] $OpenRange.Subtotal("B1", $xlSum, $Added_Array, True, False, True) I just need to perform a subtotal on a range based on a header called department, and then perform a sum on the results.
    • nooneclose
      By nooneclose
      How to use _Excel_RangeSort to sort my excel file by three different headers Column A1, B1, and C1 have headers on which I want to sort by. The headers on which I want to sort are department, employee type, and name.
      I still really new to AutoIt so I do not actually know how to properly start this line or lines of code, to be honest. The example code is the best I can do.
      _Excel_RangeSort($OpenWorkbook, Default, "A1:C1", "1:1", $xlDescending, Default, $xlYes, Default, $xlSortRows) I just need to sort by those three headers in that order of department, employee type, and name, plus in descending order.
       
      any and all help would be greatly appreciated.  Thank you!
    • Eminence
      By Eminence
      Hello,
      Using SQLite, I was trying to select a specific column with having duplicate entries removed by using the DISTINCT function. 
      Local $sQuery = "SELECT DISTINCT supervisor, COUNT(DISTINCT employee_name) FROM data_db What the above snippet does is just list only one supervisor but with the total count of unique employee names in the whole database when it should be listing out all supervisor entries from the database and list the total count of employees per each supervisors. If I remove the COUNT function, it does list out all unique entries of supervisor names from the list. Attached is a screenshot of an example database as well. 
      Any help will be much appreciated. Thank you!

    • PramodR
      By PramodR
       
      I see couple of ways to import module ,  one with specifying absolute path of the file to get imported, by this logic i believe to import a specific module will be like #include <c:\modulepath\duplicatemodule.au3>
      but i see some registry changes also made in this link , can someone explain why that registry change is really required.
       
×